-
单列模式复习查看全部
-
1、配置都使用数组配置原理 、\yii::app含义 、事件究竟是什么,目前看来就是不在当前类中写事件发生后,写代码,在外部这代码 、查看全部
-
/* //案例三 Event::on(Cat::className(),'miao',function(){ echo 'miao event has trihhered<br>'; }); #----------*/ /* $cat->shout(); $cat2->shout();*/ //案例四 //使用单例模式\YII::$app 应用主体 \YII::$app->on(\yii\base\Application::EVENT_AFTER_REQUEST,function(){ echo 'event after request'; }); echo 'hello index action<br>'; } }查看全部
-
<?php namespace app\controllers; use yii\web\Controller; use vendor\animal\Cat; use vendor\animal\Mourse; use vendor\animal\Dog; use \yii\base\Event; class AnimalController extends Controller { public function actionIndex(){ $cat = new Cat(); $cat2 = new Cat(); $mourse = new Mourse(); $dog = new Dog(); /* //案例一 //实现猫叫,老鼠跑绑定事件,dog关注 $cat->on('miao',[$mourse,'run']); //on()方法来自于Componment,on()方法实现绑定事件 //猫叫的时候给老鼠传递一些参数信息 $cat->on('miao',[$dog,'look']);//dog关注cat的miao #-*/ /* //案例二 //实现猫叫,老鼠跑绑定事件,dog关注后,取消关注 $cat->on('miao',[$mourse,'run']); //on()方法来自于Componment,on()方法实现绑定事件 //猫叫的时候给老鼠传递一些参数信息 $cat->on('miao',[$dog,'look']);//dog关注cat的miao $cat->off('miao',[$dog,'look']);//dog取消关注cat的miao #---*/查看全部
-
在配置信息中加入 'car' => ['class' => 'app\controllers\Car'] 即为把car注册为\Yii::$app->car; 可以调用\Yii::$app->car->run(),等方法查看全部
-
\Yii::$container 全局的容器; $sl = new ServiceLocator; $sl->set('car', ['class' => 'app\controllers\Car']); $car = $sl->get('car'); 实质也是调用了$container->get(); 因此需要先配置其关系 \Yii::$container->set(..., ...);查看全部
-
区别 容器: 定义并解决依赖有关系; 定位器:配置服务的参数信息;查看全部
-
如果容器指明了是interface 约束: __construct(INTERFACE $class) 则需要在container中标明关系: $container->set('Interface_Namspace', 'Class_Namespace');查看全部
-
依赖注入:容器 $container = new \yii\di\Container; $class = $container->get('CLASS_NAMESPACE'); 当__construct指定传参时,$container将完成实例化并自动传入查看全部
-
程序 = 算法 + 数据结构; 依赖注入:把程序所依赖的数据结构在调用时注入 使算法和数据结构解耦查看全部
-
mixin之对象混合 将 Behavior Class实例化:$beh = new BEHAVIOR_CLASS; mixin:$Model->attachBehavior('behavior_name', $beh); unmix: $Model->detachBehavior('behavior_name');查看全部
-
在对象中完成类混合:通过方程 function behaviors() { return [ BEHAVIOR_NAME::className() ] }查看全部
-
类混合:通过Action之前的动作 Behavior class完成 在项目根目录下建文件 behaviors/xxx.php, 在文件中添加需要额外加入的属性和方法 并可以加入事件绑定,通过 function events() { return [ 'EVENT_NAME' => 'ACTION_NAME' ]; }查看全部
-
mixin:类的混合,对象的混合 可能与JQ的extends()有点类似查看全部
-
基于应用主体\Yii::$app事件绑定,使用方式 \Yii::$app->on(\yii\base\Application::EVENT_AFTER_REQUEST, 'FUNC_NAME'); 或 \Yii::$app->on(\yii\base\Application::EVENT_AFTER_REQUEST, function () { // ... code ... })查看全部
举报
0/150
提交
取消