thinkphp 外部js语言包

Posted 狂奔的蜗牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp 外部js语言包相关的知识,希望对你有一定的参考价值。

Thinkphp php文件也外部js文件公用同一个语言包

 

一 . php语言包转json数据格式

1.新建验证字段的语言包 application\common\lang\validate-cn.php

<?php
// 验证字段语言包 中文
return [
    validate=>[
        name => [
            empty=> 用户名不能为空,
            length => 用户名长度6-20字符
        ],

        email => [
            empty => 邮箱不能为空,
            format => 邮箱格式不对
        ],
        password=>[
            empty => 密码不能为空,
            format => 密码长度为6-20字符
        ],
    ]
];

 

 

2.zh-cn 导入语言包validate-cn.php数据

<?php
/**
 * 全局语言包
 * zh-cn
 * */
$lang = include(APP_PATH . common/lang/validate-cn.php);;
$data = [
    success =>执行成功 ^_^,
    error => 执行失败 (┬_┬),

    confirm =>[
        1 => ,
        2 => ,
    ],

    check =>[
        1 => 已审核,
        2 => 未审核,
        3 => 禁用
    ],
    sex =>[
        1 => 保密,
        2 => ,
        3 => 
    ]
];

return array_merge($lang,$data);

 

这么做的目的是把“常用语言包”和“字段验证语言包”方在不同的文件里,然后合并数据。在Thinkphp方法里面或者初始化的地方转json数据

public function _initialize()
    {
        // 实例化验证语言包
        $lang = lang(validate);
        $validate = json_encode($lang);   // 转json字符串
        $this->assign(validate,$validate);
    }

 

并且把变量进行实例化,下面html页面会把实例化的变量传递个js (建议放在全局共享html页面),加入以下代码

<script>
    // Thinkphp 语言包 传递个js
    var language = {$validate};
</script>

 

 

二. 外部js接收php的json语言包数据 common.js

var lang=eval((+language+));
alert(lang.email.empty);

输出:邮箱不能为空

 

以上是关于thinkphp 外部js语言包的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp怎么引用css文件

vscode用啥符号把某一段代码包起来,类似C#的#region?

thinkphp 3.23语言包加载

超级有用的9个PHP代码片段

composer方式安装thinkphp5,安装smarty

以 ThinkPhp 为例,理解 PHP 框架的入口