1. 程式人生 > >thinkphp 外部js語言包

thinkphp 外部js語言包

常用 pat 導入 for div clas emp 全局 clu

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語言包