vlk999
if ($action_id =='error') { $this->depends[] = 'backend\assets\ErrorAsset'; } else { $this->depends[] = 'backend\assets\CssJsAsset'; }
这里 $action_id =='error',建议使用依赖注入(DI),在 new 的时候传入配置参数,根据参数判断依赖的 asset,采用这种方式来达到 松耦合。
额忘记了 AssetBundle 的实例化方式是通过 register 静态方法在视图中注册,也就是说没法在 new 的时候传入配置参数。
那么只好用一种相当 low 的方式,就是添加一个静态属性,在视图中设置它,在 bundle 的 init 方法里根据这个属性来判断添加那个依赖。AppAsset.php
class AppAsset extends AssetBundle { public static $group; .... public function init() { if(self::$group == 'error') { ..... } } }
view.php
use app\assets\AppAsset; AppAsset::$group = 'error'; AppAsset::register($this);
if ($action_id =='error') { $this->depends[] = 'backend\assets\ErrorAsset'; } else { $this->depends[] = 'backend\assets\CssJsAsset'; }
这里 $action_id =='error',建议使用依赖注入(DI),在 new 的时候传入配置参数,根据参数判断依赖的 asset,采用这种方式来达到 松耦合。
- vlk999 回复了话题 Yii2.0 - 枚举字段声明与数据呈现
有必要这么复杂吗?在相应的 model 添加枚举数组,添加两个方法, getValueText, getValueGroup。需要的时候调用两个方法即可。
- vlk999 回复了话题 分享批量获取GET/POST函数
对业务独立建立一个model, 在model 的 rules 属性中为获取字段添加 safe 规则。控制器直接调用 $model->load($data)。得到的就是提取到的数据。