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语言包的主要内容,如果未能解决你的问题,请参考以下文章
vscode用啥符号把某一段代码包起来,类似C#的#region?