2016-10-29

Yii 框架之扩展篇

Yii 扩展分类

  • 模块化
  • 事件机制
  • MixIN (混合、多重继承)
  • 依赖注入

模块化技术

模块化:通过对业务详细拆分,分化出不同的小模块,
可以通过思维导图进行梳理
系统加载模块时通过配置文件进行控制,若模块暂不可用可于配置中标明以通知系统模块暂不可用

使用 Gii 的 Module Generator

模块化实现:

1、父级模块化(1级)

通过gii的modules生成对应的子模块(2级),

然后修改config.php中的web.php的配置信息,添加以下信息(例子):

‘modules’=>[‘article’=>‘app/modules/article/Article’]

访问方式,例如:localhost/basic/index.php?r=article/default/index
2、2级模块化(1级),类推

通过gii的modules生成对应的子模块(3级),

然后修改该模块下的.php配置信息,添加以下信息(例子):

在actionInit中添加如下信息:

$this->modules = [‘category’=>[‘class’=>‘app/modules/article/modules/test/Test’]];
访问方式,例如:localhost/basic/index.php?r=article/test/default/index

事件机制

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 #---*/ ## MixIn Behavior ## 依赖注入