主な質問は一番下に太字で示されていますが、質問の内容と理由について説明します。
基本的に、私が現在ユーザーのために行っていることを一度に 1 つずつ取り入れ、すべてを 1 ページに表示するオプションをユーザーに提供しようとしています。PHP を使用してデータを html に配置していましたが、自分のコードを改善することに興味があり、javascript を使用した handlebars.js がより理にかなっているのかどうか疑問に思っていました。
ユーザーがそれぞれの隣にチェックボックスがあるリストを持っているとします
[x] Option 1
[ ] Option 2
[ ] Option 3
...
[x] Option 20
チェックボックスごとに、データベースからの情報を含む html のブロックが表示されます。
現在、ページごとに 1 ブロックの html のみを表示しています。PHP は同じページにあり、データを取得し、2 つのクエリから生成された 2 つの配列をループして、html 内のインライン php を使用して、html の現在のブロックを生成します。
....
<div class="option-wrapper">
<?php foreach ( $option_list as $option ) : ?>
....
この同じコード ブロックを同じページで 1 ~ 20 回生成できるようにする必要があります。インラインでphpを使用して、htmlのブロック全体をループして、選択したオプションごとに別のhtmlのブロックを作成できると思います。
| Option 1 | | Option 20 |
| Title: Test1 | | Title: Test2 |
しかし、この目的で JavaScript テンプレート エンジンを使用する利点があるかどうか疑問に思っていました。私はチャートデータにjavascriptを書きました。現在、php変数(2つの配列から15個)を格納する非表示のhtml要素があり、jQueryによってプルされます。しかし、html で変数を非表示にすることは、少なくとも悪い習慣のように感じます。
<div id="total-users" style="display:none;"><?php echo $total_users ?></div>
....
var totalUsers = $('#total-users').html();
これはそれらの 1 つかもしれません。質問する必要がある場合、これはおそらく悪い習慣のタイプの質問です。しかし、正直なところ、これは悪い習慣でしょうか?
より高品質のコードを書くためには、php がすべてのデータを取得した後で json_encode を使用する方がよいでしょうか。次に、選択されたオプションごとに複製された html のブロックで handlebars.js のような JavaScript テンプレート エンジンを使用するには?
もう1つ、将来、各ブロックのドロップダウンを使用してオンザフライで表示されるデータを切り替えたいと思うかもしれませんが、これにより、どのルートがより理にかなっているのですか?
私が行方不明であるか、間違っていることが明らかなことは他にありますか?
ありがとうございました!