Рендеринг страницы на PHP: Как?

#php #javascript #html

#php #javascript #HTML

Вопрос:

Возможно, это неуместный вопрос для SO, но я подумал, что давайте посмотрим 🙂

Я пишу веб-сайт на php. Каждая загрузка страницы может содержать 10-20 запросов к БД. Используя результат запросов к БД, мне нужно сгенерировать страницу.

Страница будет содержать тему (должна быть изображением или текстом), за которой следуют комментарии. Таких тем может быть несколько.

В настоящее время я создаю строку, используя результат базы данных, и отправляю ее в браузер. Когда браузер получает строку (в качестве ответа ajax), он анализирует ее с помощью функций разделения и создает HTML динамически.

Я в основном программист на C ; относительно новичок в веб-разработке. Итак, у меня нет четкого понимания объектов JS. Какую длину строки может содержать переменная JS? Можно ли использовать split и генерировать HTML на клиенте.

Я не генерирую полный HTML на стороне сервера, чтобы избежать каких-либо накладных расходов из-за конкатенации строк. Я считаю, что отправка меньшего количества символов клиенту (как я делаю) лучше по сравнению с отправкой полного HTML-кода.

Что-то (или все) неправильно в моем понимании 🙂 Любая помощь приветствуется.

Редактировать:
Что ж, я буду очень признателен, если смогу получить мнения в yes / no. Что бы вы порекомендовали. Отправка HTML клиенту или строки, которая будет использоваться на клиенте для генерации HTML?

Комментарии:

1. Обратите внимание, что если пользователь не поддерживает JS, страница останется пустой…

2. JSON (и в PHP ) — довольно распространенный способ отправки данных в браузер на основе строк.

3. @SiteSafeNL: Все в порядке; Я считаю, что этот случай должен составлять 2% или что-то в этом роде!!

4. Обратите внимание, это действительно не сайт мнений.

Ответ №1:

Если у вас нет конкретной причины для этого, я думаю, вам следует подумать о создании HTML с помощью PHP и отправке его непосредственно в браузер. PHP был создан специально для этой цели.

Комментарии:

1. У меня сложилось впечатление, что отправка HTML-кода (в свою очередь, его генерация) на стороне сервера будет стоить больше времени по сравнению с его генерацией на клиенте. Как это различие может повлиять на пользовательский интерфейс веб-сайта 🙂

2. конечно, это создаст дополнительные данные для передачи между сервером и клиентом, но, как говорит Кибби, php создан для генерации html, javascript — нет. Вы действительно хотите перенести как можно больше синтаксического анализа на сервер.

3. PHP может генерировать тот же HTML с гораздо меньшим вычислительным временем, чем потребовалось бы в Javascript, потому что в Javascript вы работаете с большим XML-документом, тогда как при работе с PHP вы просто помещаете строку (которая содержит HTML) в выходной буфер.

Ответ №2:

Я думаю, вам лучше всего взглянуть на jQuery и более конкретно на метод AJAX этой библиотеки. Кроме того, взгляните на JSON, и у вас все должно получиться.

Комментарии:

1. Может быть, вы хотите также добавить информацию о том, как кодировать данные на стороне сервера в JSON (для PHP см. json_encode ; php.net/manual/en/function.json-encode.php ).

Ответ №3:

Рассматривали ли вы возможность использования механизма создания шаблонов, такого как Smarty? Он довольно прост в использовании, взгляните на ускоренный курс, он может вам понравиться! http://www.smarty.net/crash_course