-
單列模式復習查看全部
-
1、配置都使用數(shù)組配置原理 、\yii::app含義 、事件究竟是什么,目前看來就是不在當前類中寫事件發(fā)生后,寫代碼,在外部這代碼 、查看全部
-
/* //案例三 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(); /* //案例一 //實現(xiàn)貓叫,老鼠跑綁定事件,dog關注 $cat->on('miao',[$mourse,'run']); //on()方法來自于Componment,on()方法實現(xiàn)綁定事件 //貓叫的時候給老鼠傳遞一些參數(shù)信息 $cat->on('miao',[$dog,'look']);//dog關注cat的miao #-*/ /* //案例二 //實現(xiàn)貓叫,老鼠跑綁定事件,dog關注后,取消關注 $cat->on('miao',[$mourse,'run']); //on()方法來自于Componment,on()方法實現(xiàn)綁定事件 //貓叫的時候給老鼠傳遞一些參數(shù)信息 $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(..., ...);查看全部
-
區(qū)別 容器: 定義并解決依賴有關系; 定位器:配置服務的參數(shù)信息;查看全部
-
如果容器指明了是interface 約束: __construct(INTERFACE $class) 則需要在container中標明關系: $container->set('Interface_Namspace', 'Class_Namespace');查看全部
-
依賴注入:容器 $container = new \yii\di\Container; $class = $container->get('CLASS_NAMESPACE'); 當__construct指定傳參時,$container將完成實例化并自動傳入查看全部
-
程序 = 算法 + 數(shù)據(jù)結構; 依賴注入:把程序所依賴的數(shù)據(jù)結構在調用時注入 使算法和數(shù)據(jù)結構解耦查看全部
-
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
提交
取消