Разделить PHP движок и шаблон

Статус
В этой теме нельзя размещать новые ответы.
Не соглашусь, хрень полная. Зачем на шаблон взваливать логику, условия и т.п. Какие-то дикие компиляторы. Чтобы заменить несколько полей? Это наз-ся пытались упростить работу и придумали новый язык...
Лучше уж свой велосипед - простая замена по маркеру, и замена массивами (повторяющиеся элементы), например табличку отобразить

Дак вот, можно поступить как у меня в примере. Смарти - как пушка для воробья. А если в распоряжении VDS-ка, урезанная до жопы, где нужно каждый миллиметр ресурсов беречь...
 
Если движок делаешь для себя лучше использовать стандартное смешивание html с php, раньше пользовался смарти, но когда начал делать свой собственны проект, я от смарти резко отказался. Использую отдельный php который смешивает переменный с html кодом.

Можно сделать еще отдельный php файл с функциям дизайна например готовые таблички

PHP:
function table1($title,$text){
return '
<table>
 <tr><td bgcolor="fcfcfc">'.$title.'</td></tr>
 <tr><td>'.$text.'</td></tr>
</table>
';
}
А уже в самом шаблоне выводить
PHP:
<?php
echo '<html><head></head>
<body>
'.table1('Навигация',$html_links).'<br>
...
</body>
</html>
';
?>

Используюя два файла с функциями дизайна и выводящий шаблон можно легко делать самые большие дизайны, затратив минимум сил и ресурсов.
 
Если движок делаешь для себя лучше использовать стандартное смешивание html с php, раньше пользовался смарти, но когда начал делать свой собственны проект, я от смарти резко отказался. Использую отдельный php который смешивает переменный с html кодом.

Можно сделать еще отдельный php файл с функциям дизайна например готовые таблички

PHP:
function table1($title,$text){
return '
<table>
 <tr><td bgcolor="fcfcfc">'.$title.'</td></tr>
 <tr><td>'.$text.'</td></tr>
</table>
';
}
А уже в самом шаблоне выводить
PHP:
<?php
echo '<html><head></head>
<body>
'.table1('Навигация',$html_links).'<br>
...
</body>
</html>
';
?>

Используюя два файла с функциями дизайна и выводящий шаблон можно легко делать самые большие дизайны, затратив минимум сил и ресурсов.

Ох и намаешься же, если надо чего-нибудь поменять... Скажем через год...
 
Не соглашусь, хрень полная. Зачем на шаблон взваливать логику, условия и т.п. Какие-то дикие компиляторы. Чтобы заменить несколько полей? Это наз-ся пытались упростить работу и придумали новый язык...
Лучше уж свой велосипед - простая замена по маркеру, и замена массивами (повторяющиеся элементы), например табличку отобразить
Логика в шаблоне - это нормально, но логика должна быть понятна обычному юзеру.
 
Ох и намаешься же, если надо чего-нибудь поменять... Скажем через год...
Отркыл функции и изменил любые табличные окна. Если какието новые окошки, добавляешь в функцию например function table2($title,$context,$options);
и кусок в вывода.

Не вижу большой мароки, наоборот гибкость проявляется каласальная.


Логика нужная, но дополнительная логика на шаблонном языке, мне кажется она очень хорошо употребляет реусурсы, если посещаемость сайта будет увеличиваться и будет довольно салидным, думаю от шаблонов придется отказатся, кроме этого придется позаботится о системе кэширования.

Смарти применять стоит если проект маленький и на продажу или это оговоренно заказчиком.

Кто нибудь подсчитывал сколько логика на смарти употребляет ресурсов?
 
Я, к примеру, прошёл для себя путь развития с комбинирования кода и дизайна, потом понял что есть инклюды. Позже понял что это геммор, если необходимо чего-то менять. Заинтересовался шаблонными движками. Оказалось слишком ресурсоёмко, тормознуто, и в общем, ещё и язык в языке.
Смотрел различные реализации у разных движков CMS, форумов и т.д.
На основе всего этого написал свой шаблонный движок для своего фреймворка.
Теперь могу спокойно, на лету менять шаблоны своих сайтов.
Скажем, очень полезено в разработке. когда разделяется труд программиста и дизайнера.
Разрабатывается общая сетка, дальше тупо делаю свой шаблон в голом HTML без стилей и т.п., в это время дизайнер рисует и верстает.
Потом я просто "режу" его вёрстку по шаблонам.
За пару часов готовый, свёрстанный шаблон можно легко заменить, а при желании вернуться обратно или сделать несколько шаблонов (скажем, версия для печати - тоже шаблон).

А по ресурсоёмкости и скорости... надо бы потестить тем же XDebug-ом...
 
У меня шаблонизатор с логикой и кешированием рабочих ресурсов(не полностраничный кеш) выдержал(и держит) 3 тысячи сообщений от пользователей с аттачами.

Единственный минут - под серьезные, мощные шаблонизаторы нужен легкий веб-сервер(nginx или Lighttpd) и PHP как FastCGI. Потом можно будет прикрутить xCache(если совсем плохо станет :)).
 
Уже несколько лет пишу и использованием Смарти и не представляю как можно делать без него. Проблем с нагрузкой на сервер ни разу не было, просто для больших проектов нужно использовать соответствующие сервера. Впрочем так или иначе большой проект требует соответсвующих серверов.

А посчет логика шаблонизатора, то она просто необходима, и тормозить ничего не будет, если правильно кодить, для примера, делал на нем сайт с реалтерской базой 300 000 записей и ничего все прекрасно работает и нетормозит. На другом сайте посещаемость была 8000 - 10 000 хостов в сутки и все прекрасно работало!

Так что забудьте про тормоза, большоя проект без шаблонизатора, когда одни и те же шаблоны приходится использовать много раз просто невозможно, иначе либо будет сплошное дублирование, либо логика кода будет очень сложной. И проект будет тяжело масштабировать.
 
Советую smarty. гибок и функционален, во всех проектах использую только его
 
У меня шаблонизатор с логикой и кешированием рабочих ресурсов(не полностраничный кеш) выдержал(и держит) 3 тысячи сообщений от пользователей с аттачами.

Единственный минут - под серьезные, мощные шаблонизаторы нужен легкий веб-сервер(nginx или Lighttpd) и PHP как FastCGI. Потом можно будет прикрутить xCache(если совсем плохо станет :)).
У нас проект - 15-20 тыс уникальных хостов в сутки (зависит от дня недели). Не так уж много. Но шаблонизатором трудится смарти. Затыков нету (сервер достаточно мощный).
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху