0

我有像“en.lang.php”这样的语言文件:

/* english language */
return array(
    "random.key.one" => "random value one", 
    "random.key.two" => "random value two);

用法(快速而肮脏的方式):

/* random_template.php */
$language = "en";
$file = $language . ".lang.php";
$text = include($file);
echo $text["random.key.one"]; // "random value one"

问题:如何在 JavaScript 中使用这个值?

思路:使用返回所需值的函数生成en.lang.js,用法:

alert(get_text("random.key.one"));

问题:每次更改 *.lang.php 文件时,我都必须刷新缓存。不是那么用户友好。

提前致谢!

4

2 回答 2

2

如果您使用的是 PHP >= 5.2.1(技术上是 .0),我能想象的最简单的方法如下:

有一个生成 JSON 数组的文件

echo 'set_text(' . json_encode(include($file)) . ')';

JavaScript 方面:

var texts = [];
function set_text(languageTexts){
  texts = languageTexts;
}
function get_text(key) {
  return texts[key];
}
于 2012-11-05T02:29:55.687 回答
1

尝试缓存控制页面并将其设置为无缓存,以便它将从源加载。

如果你想玩 PHP 和 JS,你必须记住 PHP 是服务器端,而 JS 是客户端。所以我能建议的最好的事情是使用 Ajax。它非常容易在页面上使用 JS 并让 JS 查询使用 php 处理数据的服务器。

于 2012-11-05T02:39:20.683 回答