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

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

withy PHP开发工程师
难度中级
时长 1小时52分
学习人数
综合评分9.87
49人评价 查看评价
10.0 内容实用
9.8 简洁易懂
9.8 逻辑清晰
  • 类级别的事件绑定
    查看全部
  • 模块化重新整理
    查看全部
    0 采集 收起 来源:事件机制

    2017-10-20

  • 调用子模块
    查看全部
    0 采集 收起 来源:YII模块化实现

    2017-07-10

  • 扩展性:模块化技术、事件机制、mixin、依赖注入
    查看全部
  • 事件机制
    查看全部
  • 图片信息
    查看全部
    0 采集 收起 来源:YII模块化实现

    2017-05-25

  • modules
    查看全部
    0 采集 收起 来源:YII模块化实现

    2017-05-23

  • 依赖注入的服务定位器是建立在容器之上的
    查看全部
    1 采集 收起 来源:课程总结

    2017-04-30

  • 另一个版本: <?php namespace app\controllers; use Yii; use yii\web\Controller; class YlzrController extends Controller{ public function actionIndex(){ \yii::$container->set('app\controllers\Driver', 'app\controllers\ManDriver') ; /* 版本1:需要先在app\config\web.php中的components项下注册 'car'=> [ 'class' => 'app\controllers\Car' ], */ \yii::$app->car->run(); } } interface Driver{ public function drive(); } class ManDriver implements Driver{ public function drive(){ echo 'i am an old man!'; } } class Car{ private $driver = null; public function __construct(Driver $driver){ $this->driver = $driver; } public function run(){ $this->driver->drive(); } }
    查看全部
  • 版本1: <?php namespace app\controllers; use Yii; use yii\web\Controller; use yii\di\ServiceLocator; class YlzrController extends Controller{ public function actionIndex(){ \yii::$container->set('app\controllers\Driver', 'app\controllers\ManDriver') ; $sl = new ServiceLocator; $sl -> set('car',[ 'class' => 'app\controllers\Car' ]); $car = $sl->get('car'); $car->run(); } } interface Driver{ public function drive(); } class ManDriver implements Driver{ public function drive(){ echo 'i am an old man!'; } } class Car{ private $driver = null; public function __construct(Driver $driver){ $this->driver = $driver; } public function run(){ $this->driver->drive(); } }
    查看全部
  • 依赖注入: 1、容器:定义并解决依赖关系; 2、服务定位器:配置服务的参数信息
    查看全部
  • 引入接口继续消除耦合: <?php namespace app\controllers; use Yii; use yii\web\Controller; use yii\di\Container; class YlzrController extends Controller{ public function actionIndex(){ $container = new Container; $container->set('app\controllers\Driver', 'app\controllers\ManDriver'); $car = $container -> get('app\controllers\Car'); $car->run(); } } interface Driver{ public function drive(); } class ManDriver implements Driver{ public function drive(){ echo 'i am an old man!'; } } class Car{ private $driver = null; public function __construct(Driver $driver){ $this->driver = $driver; } public function run(){ $this->driver->drive(); } }
    查看全部
  • PHP中接口的使用 interface Driver{ public function drive(); } class ManDriver implements Driver{ public function drive(){ echo 'i am an old man!'; } }
    查看全部
  • 不完美版(未用到接口): <?php namespace app\controllers; use Yii; use yii\web\Controller; use yii\di\Container; class YlzrController extends Controller{ public function actionIndex(){ $container = new Container; $car = $container -> get('app\controllers\Car'); $car->run(); } } class ManDriver{ public function drive(){ echo 'i am an old man!'; } } class Car{ private $driver = null; public function __construct(ManDriver $driver){ $this->driver = $driver; } public function run(){ $this->driver->drive(); } }
    查看全部
  • 1、可以利用Gii方式简单的配置一个子模块; 2、将新创建的模块在系统中注册,如添加到config/web.php中,具体添加代码在gii中生成器里面有提示。 3、生成的子模块实际上就是MVC架构的。 4、如何调用子模块: 1、在父模块的控制器中调用子模块,如调用article中的DefaultController控制器中的actionIndex方法 <?php namespace app\controllers; use Yii; use yii\web\Controller; class HelloController extends Controller { public function actionIndex() { //调用子模块 $article = \yii::$app->getModule('article'); //调用子模块的操作 $article->runAction('default/index'); } } 2、直接在浏览器中通过路由方式调用新创建的模块,如:http://yiibasic.dev/index.php?r=article/default/index
    查看全部
    1 采集 收起 来源:YII模块化实现

    2018-03-22

举报

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

微信扫码,参与3人拼团

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

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