为了账号安全,请及时绑定邮箱和手机立即绑定

Yii框架不得不说的故事—扩展篇(4)

withy PHP开发工程师
难度中级
时长 1小时52分
学习人数
综合评分9.87
49人评价 查看评价
10.0 内容实用
9.8 简洁易懂
9.8 逻辑清晰
  • 单列模式复习
    查看全部
  • 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将完成实例化并自动传入
    查看全部
  • 程序 = 算法 + 数据结构; 依赖注入:把程序所依赖的数据结构在调用时注入 使算法和数据结构解耦
    查看全部
    0 采集 收起 来源:YII依赖注入

    2016-05-26

  • 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()有点类似
    查看全部
    0 采集 收起 来源:关于mixin

    2016-05-26

  • 基于应用主体\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
提交
取消
课程须知
学习本门课程之前,建议先了解以下知识,会更有助于理解和掌握本门课程 1、面向对象的编程思想 2、YII的MVC开发方式 3、常用的设计模式
老师告诉你能学到什么?
1、如何使用模块化将YII项目进行划分 2、能够将程序逻辑解耦的事件机制如何使用 3、如何使用行为去扩展类以及对象 4、如何使用依赖注入去对代码进行解耦

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!