Проблема связки PHP и HTML
Я вернулся с отдыха от написания статей, и с этого дня всё возвращается на круги своя. Теперь статьи будут появляться, как и раньше, 3 раза в неделю. А эту статью я решил посветить проблеме связки PHP и HTML. Немногие задумываются над этой проблемой, а ведь она, к сожалению, пока неразрешима.
Сайт - это набор страниц с HTML-кодом, поэтому, если мы хотим использовать PHP при создании сайтов, то нужно как-то связать HTML и PHP. И вот тут возникает проблема, так как безумно важно отделить представление от реализации, то есть отделить внешний вид страниц от того, как они создаются. Зачем это нужно?
- Самое главное - это для относительно лёгкой смены дизайна. Тут важно понимать, что идеал, это когда при изменении дизайна сайта, мы вообще не лезим в PHP-код.
- Для разделения работы программиста и верстальщика. Зачастую - это разные люди, которые понимают в работе друг друга не очень много. И если верстальщику придётся править PHP-код, то он что-нибудь сломает.
Многие ошибочно полагают, что PHP был создан для создания сайтов. PHP - это язык для программирования Web-сервера. А на сервере находятся не только сайты. Поэтому и разработчики языка не придумали ничего толкового для решения проблемы связки PHP и HTML. Да, и вообще я ещё не встретил ни одного решения, которое бы полностью решило эту проблему.
В следующих статьях мы рассмотрим некоторые попытки решения проблемы соединения PHP и HTML. Многие думают, что они идеальны, однако, я постараюсь убедить их в обратном и укажу на явные недостатки того или иного подхода.
-
- Михаил Русаков
Комментарии (11):
то что надо!!! с нетерпением жду слудующие статьи по данной теме.
Ответить
Для разделение представления от реализации я использую шаблонизатор Smarty(смарти) - очень удобная вещь, если дизайнеры и программисты работают отдельно друг от друга.
Ответить
Михаил, я подписан на вашу рассылку и мне недавно пришёл урок с названием "pm" там вы обьясняете как сделать обмен сообщениями между зарегистрированными пользователями! И там вы говорили об АКТИВАЦИИ ПОЛЬЗОВАТЕЛЯ ПО E-Mail! Я смотрел уроки по регистрации/авторизации, но урок по активации ПО E-MAIL до меня по ходу не дошёл! Не могли бы вы скинуть мне его ещё раз? Мой E-Mail: [email protected]
Ответить
У Вас там в рассылке есть ссылка не все выпуски, так что можете посмотреть там. На всякий случай ещё отправил на почту.
Ответить
В Рассылке почему-то не нашёл, НО на почту пришло. Спасибо большое.
Ответить
А если зайти с другой стороны? Читаем шаблон как файл, в скрипте получаем переменные и с помощью preg_replace() заменяем заранее согласованные шаблоны (к примеру "<program_name>") на переменные. Испытал, на 5000 символов скорость выполнения всего 0,008 секунды. Проблема получить переменные в циклах...
Ответить
По-крайней мере php-код из шаблона выкидываем полностью!
Ответить
Вот именно с циклами и условиями и возникают все проблемы. Если бы их не было, то тогда проблемы бы такой не стояло. И preg_replace() совсем не нужен, достаточно str_replace().
Ответить
А разве str_replace() работает с массивами? Век живи, век учись, а дураком помрешь. Но всё-равно, проблема будет иметь решение, только не во всех случаях.
Ответить
у меня по видеокурсу на php не работают вставки php кода для блоков пропадает контент ... броузер пишет -- HTML1406: Недопустимое начало тега: "<?". Теги не должны начинаться с вопросительных знаков. index.html, строка 74 символ 11 ************** в чем может быть ошибка ? <table cellpadding="0"cellspacing="0" id="content"> <tr> <td> <?php require_once "blocks/main_article.php?> </td> <td id ="banners_240">
Ответить
PHP-код на валидность не проверяют.
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.