Основные вопросы выделены жирным шрифтом внизу, но я расскажу вам, что и почему я спрашиваю.
В основном беру то, что я сейчас делаю для пользователей по одному, и пытаюсь дать им возможность отображать все на одной странице. Использовал PHP для размещения данных в html, но интересовался улучшением своего кода и задавался вопросом, будет ли иметь смысл handlebars.js с javascript, даже просто для моего собственного здравомыслия.
Скажем, у пользователя есть список с флажком рядом с каждым
[x] Option 1
[ ] Option 2
[ ] Option 3
...
[x] Option 20
Для каждого установленного флажка отображается блок html с информацией из базы данных.
Прямо сейчас я отображаю только один блок html на странице. PHP был на той же странице, собирал данные и перебирал 2 массива, сгенерированные из двух запросов, со встроенным php внутри html для генерации текущих блоков 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, написанный для данных диаграммы, в настоящее время у меня есть скрытые элементы html, в которых хранятся переменные php (из них 15 из двух массивов), которые затем извлекаются моим jQuery. Но я уже чувствую, что скрытие переменных в html, по крайней мере, кажется плохой практикой.
<div id="total-users" style="display:none;"><?php echo $total_users ?></div>
....
var totalUsers = $('#total-users').html();
Возможно, это один из тех вопросов, которые, если вам нужно было задать, скорее всего, являются плохой практикой. Но, честно говоря, разве это плохая практика?
В интересах написания кода более высокого качества, не лучше ли это сделать с помощью json_encode после того, как php соберет все данные. Затем использовать механизм шаблонов javascript, такой как handlebars.js, с блоком HTML, который клонируется для каждого выбранного параметра?
Еще одна вещь: в будущем я, возможно, захочу иметь возможность переключать данные, отображаемые на лету, с помощью раскрывающегося списка в каждом блоке. Имеет ли это значение, какой маршрут имеет больше смысла?
Есть ли что-то еще очевидное, что я упускаю или делаю неправильно?
Спасибо!