我创建了一个运行良好的模块。从模块内的控制器和视图中,我想访问我创建的名为t
的模块的静态转换方法。根据Yii的文档,我应该能够使用Module::t()
访问模块类(名为module)的静态方法,但只有在准备像'app'modules'commission'Module::t()
这样的命名空间时,我才能使用它。
这是我错过的必须修改的配置问题吗?还是这是使用名称空间访问Module类的唯一方法?我在网上搜索过,但找不到类似的问题。
您可以尝试使用别名,并在配置参数别名中为模块定义别名:
'aliases' => [
'@mymodule' => 'app'modules'commission'Module',
],
然后这样调用你的方法:
call_user_func([Yii::getAlias('@mymodule'), 't', $params]);
没有Module::t()
那么优雅,但可以灵活地更改实现自定义t()
方法