4.2.组件使用和管理

组件使用和管理

组件使用

//获取组件
dump(com('demo01'));
dump(com('demo0101'));
//
dump(com('demo01')->name);
dump(com('demo0101')->name);
//

组件管理器

函数

/**
 * 添加一个组件
 *
 * @param string $id
 * @param mixed  $service string/array/clusole
 * @return true
 */
public function set($id,$service);
/**
 * 获取组件实例
 *
 * @param string $id
 * @return mixed
 */
public function get($id);
/**
 * 判断组件是否存在
 *
 * @param string $id
 * @return boolean
*/
public function has($id);
/**
 * 移除组件
 *
 * @param string  $id
 * @return boolean
 */
public function remove($id);

案例

//组件管理器实例
$coms=coms();
//
coms()->get('demo01');
//
if(coms()->has('demo01')){
    //移除组件实例
    coms()->removeInstance('demo01');
    //重新设置属性
    coms()->set('demo01',['name'=>'xiaowang']);
    dump(coms()->get('demo01'));
}
//移除组件
coms()->remove('demo01');

门面类

通过门面类使用组件管理器

use qing\facades\Coms;
//组件管理器
Coms::get('demo01');
//
if(Coms::has('demo01')){
    //移除组件实例
    Coms::removeInstance('demo01');
    //重新设置属性
    Coms::set('demo01',['name'=>'xiaowang']);
    dump(Coms::get('demo01'));
}
//移除组件
Coms::remove('demo01');

通过门面类访问组件