我创建了一个工作得很好的模块。从模块中的控制器和视图中,我想访问我创建的名为t
的模块的静态转换方法。
根据{{3}},我应该能够使用Module::t()
访问模块类(名为Module)的静态方法,但我只能在我添加\app\modules\commission\Module::t()
之类的命名空间时才能使用它。
这是一个我错过并且必须修改的配置问题,或者这是使用命名空间访问Module类的唯一方法吗?我在网上搜索过但找不到类似的问题。
答案 0 :(得分:0)
您可以尝试使用aliases并在配置参数别名中为模块定义别名:
'aliases' => [
'@mymodule' => 'app\modules\commission\Module',
],
然后像这样调用你的方法:
call_user_func([Yii::getAlias('@mymodule'), 't', $params]);
不如Module::t()
那么优雅,但可让您灵活地更改实现自定义t()
方法的模块类