美文网首页程序员
ThinkPHP多语言中的cookie('think_langu

ThinkPHP多语言中的cookie('think_langu

作者: issac_宝华 | 来源:发表于2017-02-25 10:43 被阅读0次

    在我的blog的另外一篇文章:ThinkPHP-多语言支持功能使用 功能如题,里面有说到一个ThinkPHP内置类:ThinkPHP\Extend\Behavior\CheckLangBehavior.class.php。这个类是ThinkPHP的“行为类”,使用多语言就要加载这个行为类,它会每次在你编写的代码运行前先运行。查看这个类你还可以找到这么一段代码:

    Paste_Image.png

    显然,这个类是会每次新建一个cookie('think_language'),我们可以利用这个cookie做一些扩展。比如,html页面可以根据不同的语言使用不同的样式:

    Paste_Image.png

    这样用是有兼容性坑的,ThinkPHP它返回的cookie('think_language')对于每个浏览器,不是返回都是zh-cn或者en-us,至少现在我发现他不会一直返回小写的,今天就发现,它有时候在chrome、Opera、Firefox中返回的是:zh-CN,只有在Safari中返回的是zh-cn。目前还不清楚会不会返回cn或者en这样的关键字,目前该做的兼容措施就是转换为小写:

    Paste_Image.png

    相关文章

      网友评论

        本文标题:ThinkPHP多语言中的cookie('think_langu

        本文链接:https://www.haomeiwen.com/subject/jzmgwttx.html