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

Лисю

Guest
crocodile2u

это значит, что сайт не будет грузится 10 секунд.
 

crocodile2u

http://vbolshov.org.ru
MasterSID
Кхе-кхе... Думаю, когда придет пора делать такой проект, в котором смарти может стать слабым звеном с точки зрения прозводительности, ты сможешь сделать _полностью_ осознанный выбор в пользу той или иной технологии, организовать многоуровневое кэширование и т. д. Вот только до тех пор, пока не сможешь, "реально серъезный" проект не получишь :)
 

MasterSID

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

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

Alexandre

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

Alexandre

PHPПенсионер
Лучше для меня - та что быстрее работает, та, что проще реализуется и та, что логичнее построена, та, что не несет в себе как можно меньше потенциальных дыр
1) какие могут быть потенциальные дыры??
2) что быстрее работает и проще реализуется - понятия не совместимые
3) что логичнее построена - что под этим понимается???

-~{}~ 30.08.05 12:06:

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

Да и написание модуля даст тебе больше плюсов как программиста, чем реализация еще одного смарти.
 

MasterSID

Новичок
1) Дыры могут быть любыми. Никто не застрахован от ошибок.
2) не всегда
3) где все на сових местах. нет ничего лишнего и все тип-топ
 

master_x

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

MasterSID

Новичок
а там много-то знать и не нужно if/else да foreach, а остальное я за него зделаю

А выводы я еще позавчера зделал :) Просто думал может меня кто переубедит :) Не вышло
 

texrdcom

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

alexhemp

Новичок
MasterSID

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

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

По производительности - на средних проектах - смарти однозначно не узкое место. А на крупных - проблем и так хватает, шаблонизатор лишь одна из них.
 

master_x

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

alexhemp

Новичок
я бы пошел следующим путем

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

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

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

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

И вот когда появится такая конкретика - станет ясно что нужно использовать, хотя-бы общие подходы будут конкретизированы.
 

master_x

Pitavale XXI wieku
А не легче ли вместо 3 первых пунктов найти верстальщиков имеющих минимальные знания PHP?
 

Alexandre

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

все остальное - игрушки, можно использовать любой из имеющихся... например VLib - хороший шаблонизатор.
1) Дыры могут быть любыми. Никто не застрахован от ошибок
Какие потенциальные дыры могут быть в шаблонизаторе???
 

HrHr

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

alexhemp

Новичок
HrHr

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

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

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

MasterSID

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

Alexandre

PHPПенсионер
Например пользователь сможет выполнять код
каким образом пользователь сможет это сделать??? И кто он вообще - Пользователь???
тот кто использует шаблон, или прихожанен на сайт?

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

какие могут быть еще потненциальные дыры???
 

master_x

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

-~{}~ 31.08.05 12:38:

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