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 に答える