Лучше разбрызгивать блоки PHP в документе или использовать PHP DOM с якорями? - PullRequest
0 голосов
/ 28 июля 2010

Какой лучший способ создать HTML-документ с использованием PHP?Я считаю, что использование блоков <?php ?> становится довольно грязным, когда на странице много динамически генерируемого контента.Я думал об использовании библиотеки манипулирования PHP DOM для вставки динамического содержимого в «якоря» в документе.Это приведет к более чистому расположению документа, потому что весь PHP находится в одном месте, а HTML - в другом.

Каковы плюсы / минусы удобочитаемости / производительности при использовании блоков PHP по сравнению с манипулированием PHP DOM?Какова принятая практика создания HTML-документов с помощью PHP?

Ответы [ 2 ]

3 голосов
/ 28 июля 2010

Давным-давно я верил, что «якоря» - это путь.В те дни я использовал шаблонизатор Smarty.Сделайте себе одолжение и пропустите этот этап.Понимаете ... скоро вы обнаружите, что вам понадобятся некоторые базовые структуры управления на ваших страницах.Маленькая петля здесь, маленькая условная там.Прежде чем вы это узнаете, вы будете реализовывать свой собственный маленький язык программирования только для разбора этих якорей.

Вот тогда-то и начнется рассуждение о том, что PHP на самом деле является мощным тонким языком шаблонов.Это подход, который приняли многие рамки в наши дни.Я бы рекомендовал взглянуть на Zend Framework Zend_View.Они делают изящную мелочь, где используют буферизацию вывода, чтобы поймать результат включения страницы PHP.Это позволяет им делать интересные вещи, такие как присвоение данных объекту и извлечение его с помощью $ this-> в шаблоне.

Что сводится к тому, что вы хотите делать на своих страницах ... разделение проблем,то есть разделение вашей «презентации» от вашей бизнес-логики - это всегда хорошая идея.И если вы ограничиваете себя логикой представления, естественно, что ваши страницы будут содержать только тот PHP, который вам действительно нужен.Как упомянуто выше ... цикл while, несколько If.Это должно быть.

См. Также: MVC pattern

2 голосов
/ 28 июля 2010

Существует несколько способов решения этой проблемы:

1) Большой беспорядок PHP и HTML вместе. 2) Используйте шаблоны.

Вы представили что-то, о чем я никогда не слышал, возможно, потому что это будет проблематично или неэффективно. Допустим, это можно рассматривать как некий шаблон, но есть более простые способы достижения цели.

Шаблоны - это способ максимально разделить HTML и PHP. Вы можете использовать большие шаблоныные рамки, например Smarty, но, на мой взгляд, лучше сохранить простоту и использовать нечто похожее на это: http://www.massassi.com/php/articles/template_engines/ Я думаю, что это лучшая практика, широко используемая в мире PHP, и это также ответ на ваш вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...