首页 > PHP > thinkphp 语言包公共模块配置
2015
01-22

thinkphp 语言包公共模块配置

在thinkphp中有一个比较好用的多语言配置叫做checklangbehavior.class.php的文件 

在加载时tp官方手册建议使用 在conf目录增加一个tags.php文件内容为

return array(
     // 添加下面一行定义即可
     'app_begin' => array('Behavior\CheckLang'),
    // 如果是3.2.1及以后版本 需要改成
    // 'app_begin' => array('Behavior\CheckLangBehavior'),
);

但是这时候有隐藏的坑,当你想在全局模块中使用时,你将tags.php移动进入了Common/Conf/下面是 问题产生了

不管怎么弄 L方法都加载不了 Common/Lang/zh-cn.php语言文件  


问题产生的原因在于app_begin  在非当前模块时不会默认加载(这里原理没有深究,窃以为是tp在app_begin的时候加载当前模块的语言包,事实情况是没有加载,没有加载除默认语言包之外任何的语言包)



soga  问题在更换了hook 接口 将app_begin 改为app_init 就搞定了。。。

'app_init' => array('Behavior\CheckLangBehavior'),

当然还有一种方式就是在common/behavior中增加一个behavior来替代checklangbehavior的内容。。。。

最后编辑日期:
作者:hainuo
hainuo
这个作者貌似有点懒,什么都没有留下。
https://shenghuo.alipay.com/transfer/aaCollect/pay.htm?id=18656668&sign=1e0c1245ffd24ee46f648ea278825f49
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!