Мне нужно знать, что лучше / эффективнее, когда моя страница загружается, мне нужно загрузить некоторые элементы из базы данных. Прямо сейчас я использую php для генерации правильного JS в теге script.
Это выглядит примерно так
<script type="text/javascript">
canvas = $('#drawn').get(0)
c = canvas.getContext('2d');
<? foreach ($projectArray[1] as $shape): ?>
<?
switch ($shape['type']):
case 1: ?>
c.beginPath();
c.moveTo(<?=$shape['x_points'][0] ?>, <?=$shape['y_points'][0] ?>);
<? for ($point = 0; $point < count($shape['x_points'])-1; $point++): ?>
c.lineTo(<?=$shape['x_points'][$point] ?>, <?=$shape['y_points'][$point] ?>);
<? endfor; ?>
c.stroke();
<? break;
...
Это генерирует скрипт внизу страницы, который очень длинный и выглядит примерно так.
script type="text/javascript">
canvas = $('#drawn').get(0)
c = canvas.getContext('2d');
c.beginPath();
c.moveTo(373, 138);
...
c.lineTo(586, 242);
c.lineTo(588, 243);
c.lineTo(589, 244);
c.stroke();
c.beginPath();
c.moveTo(222, 165);
c.lineTo(222, 165);
...
c.lineTo(313, 309);
c.lineTo(261, 309);
c.stroke();
c.beginPath();
c.moveTo(81, 110);
c.lineTo(81, 110);
c.lineTo(84, 110);
...
Как вы можете видеть, это генерирует длинный скрипт на основе массива, переданного с помощью php, на основе того, что я извлек из базы данных. В глубине души это похоже на неправильный способ сделать это, и вместо этого я должен кодировать массив как json и перебирать его как объект json.
На самом деле мой вопрос: кошерно ли генерировать такой скрипт или я должен использовать json, и каковы преимущества его выполнения в любом случае?