Шаблонизатор своими руками

crocodile2u

это значит, что сайт не будет грузится 10 секунд.
 
MasterSID
Кхе-кхе... Думаю, когда придет пора делать такой проект, в котором смарти может стать слабым звеном с точки зрения прозводительности, ты сможешь сделать _полностью_ осознанный выбор в пользу той или иной технологии, организовать многоуровневое кэширование и т. д. Вот только до тех пор, пока не сможешь, "реально серъезный" проект не получишь :-)
 
причем здесь получишь/не получишь я не об этом говорю. Я вообще для себя изначально поставил вопрос - какая технология лучше. Лучше для меня - та что быстрее работает, та, что проще реализуется и та, что логичнее построена, та, что не несет в себе как можно меньше потенциальных дыр. Именно поэтому я хотел выслушать все аргумента за и против каждого метода и принять решение. Интерпритатор написанный на интерпритаторе работает по определению медленнее, поэтому я ставлю ему минус и он мне не нравится. Я лучше напишу свое, что будет работать быстрее. Если выяснится, что смарти будет лучше (что такое лучше см. выше) моего проекта - что ж признаю свою глупость. Так вот чтобы не писать глупость, я хочу с этим разобраться на стадии проектирования. И пока реальных преимуществ технологии типа смарти (метод 1) над методом 2 не вижу.

Да действительно, еще и программисты делятся на 2 типа - те, которые приемлят технологии типа смарти и те, которые не приемлят. И похоже, что обе категории по-своему правы. Таким образом выбор за разраотчиком. Я выберу то, что буде ЛУЧШЕ (см. выше) :))
 
Интерпритатор написанный на интерпритаторе работает по определению медленнее, поэтому я ставлю ему минус и он мне не нравится
если нужна скорость, то тебе в качестве аналога надо брать php_templetes - шаблонизатор как модуль PHP.
 
Лучше для меня - та что быстрее работает, та, что проще реализуется и та, что логичнее построена, та, что не несет в себе как можно меньше потенциальных дыр
1) какие могут быть потенциальные дыры??
2) что быстрее работает и проще реализуется - понятия не совместимые
3) что логичнее построена - что под этим понимается???

-~{}~ 30.08.05 12:06:

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

Да и написание модуля даст тебе больше плюсов как программиста, чем реализация еще одного смарти.
 
1) Дыры могут быть любыми. Никто не застрахован от ошибок.
2) не всегда
3) где все на сових местах. нет ничего лишнего и все тип-топ
 
согласен с Alexandre если тебе не нужен интерпретатор в интерпретаторе пользуй php_templates. Но я бы все-таки посоветовал тебе использовать чистый PHP. Все доводы в пользу второго метода ты привел правильные, теперь тебе пора делать выводы :)
Да и прибавляещь ты лишнюю работу тому, кто будет писать твои шаблоны, вот может PHP тот человек хоть мало-мальски но знает а вот Smarty в полном объеме... ИМХО юзают больше интузиасты.
 
а там много-то знать и не нужно if/else да foreach, а остальное я за него зделаю

А выводы я еще позавчера зделал :) Просто думал может меня кто переубедит :) Не вышло
 
В кратце Smarty - хороший унивирсальный пример изучить - посмотреть его надо а потом напишите свой шаблонизатор и все будет окей!.
Вставку блоков тоже надо делать в своем шаблонизаторе можно вставлять сколько угодно не кто не отменял в php require
А именно так и делает smarty.
Интерестно что будут делать любитили smarty если они отменят свою лицензию на свободное распостранения в комерчиских закрытих проэктах ? А ведь может такое случиться пример Mysql
 
MasterSID

Ты впадаешь в одну и ту-же ошибку. Нет технологий "лучше" или "хуже". Есть реальные задачи и реальные программисты, и в отрыве от них нет никакого "лучше-хуже".

Проблема многогранна, и нет универсального способа их решать...

По производительности - на средних проектах - смарти однозначно не узкое место. А на крупных - проблем и так хватает, шаблонизатор лишь одна из них.
 
to alexhemp
По производительности - на средних проектах - смарти однозначно не узкое место. А на крупных - проблем и так хватает, шаблонизатор лишь одна из них.
Так и все же, что ты будешь делать с этой проблемой (шаблонизатором)?
 
я бы пошел следующим путем

1. Определил бы требуемый функционал модуля обработки HTML-шаблонов - именно здесь ставятся требования к языку разметки шаблонов (например исходя из квалификации верстальщиков)

2. Поискал бы известные шаблонизаторы, подходящие под этот функционал

3. Максимизировал возможности кэширования результатов (компиляция шаблонов, акселератор байт-кода само собой).

4. Далее определил бы стратегию кэширования всех сгенерированных страниц.

И вот когда появится такая конкретика - станет ясно что нужно использовать, хотя-бы общие подходы будут конкретизированы.
 
А не легче ли вместо 3 первых пунктов найти верстальщиков имеющих минимальные знания PHP?
 
По производительности - на средних проектах - смарти однозначно не узкое место. А на крупных - проблем и так хватает, шаблонизатор лишь одна из них.
крупные проекты имеют, как правило, выделенный сервак. Следовательно можно поставить модуль.

все остальное - игрушки, можно использовать любой из имеющихся... например VLib - хороший шаблонизатор.
1) Дыры могут быть любыми. Никто не застрахован от ошибок
Какие потенциальные дыры могут быть в шаблонизаторе???
 
Я однозначно за php-шаблонизатор, потому что не вижу чем Smarty лучше. Может стороники Smarty выскажутся почему они выбрали именно его ?
Читал мнения, мол если в php шаблоне верстальщик допустит опечатку, то будет плохо :D
Чтобы этого избежать, можно проверять шаблон на ошибки при аплоаде через форму(если так реализовано) или если верстальщик просто заливает шаблон по фтп, то при первом парсинге шаблона проверять на ошибки :)
 
HrHr

Smarty позволяет мне зарабатывать больше денег - быстрее верстая шаблоны.

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

Я все то-же самое могу сделать и на чистом PHP, но как любой здравомыслящий человек использую удобную библиотеку.
 
Автор оригинала: Alexandre
Какие потенциальные дыры могут быть в шаблонизаторе???
Вопрос все равно что какие потенциальные дыры могут быть в CMS. Всякие говорю - от ошибок никто не застрахован. Например пользователь сможет выполнять код, который позволяет шаблонизатор и если в код этого шаблона входит инклюд php файла, то в принципе сможет получить определенного-рода доступ к отдельным модулям сайта.
 
Например пользователь сможет выполнять код
каким образом пользователь сможет это сделать??? И кто он вообще - Пользователь???
тот кто использует шаблон, или прихожанен на сайт?

такой дыры "нормальный" шаблон должен предусмотреть.
Шаблон не должен быть построен на eval()

какие могут быть еще потненциальные дыры???
 
Я все то-же самое могу сделать и на чистом PHP, но как любой здравомыслящий человек использую удобную библиотеку.
Хорошо, значит людей, которые вместо корявого шаблонизатора ипсользуют самый естественный путь- написание шаблонов на PHP, ты считаешь нездравомыслящими? Громкое высказывание. Мне оно не нравится, хорошо, будем считать, что интерпретаторы, которые будут обрабатываться интерпретаторами, использовать глупо.

-~{}~ 31.08.05 12:38:

alexhemp
да и вообще объясни мне, чем, синтаксис Smarty лучше/легче чем PHP?
 
Сверху