私は使用Codeigniter
していて、ビュー ファイルから JavaScript を分離したいと考えていますが、JavaScript 関数の多くはコントローラーからのデータを必要とします (コントローラーからの値に依存していました)。
元:
controller :
function show_post() {
$data['data'] = $this -> get_data(); //some data
$data['random_key'] = $this -> generate_random(); //returns a random value
$this -> load -> view('posts', $data);
}
そして、私はjs関数を持っています:
<script>
function get_random() {
return "<?= $random_key; ?>";
}
</script>
このJavaScriptスニペットを他のファイルに保存するにはどうすればよいposts.js
ですか? このようなことをした場合、スクリプト内でphp変数を使用できません。
パフォーマンスとメンテナンスの観点からこれを達成するための最良の方法は何ですか?
私が従いたくない他のいくつかの方法:
- JS ファイルを PHP ファイルとして保存し、値をそのファイルに渡します。
- ビューファイル内のすべての変数をグローバルに宣言します