Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Шаблонизаторы.
 
 автор: Гость   (30.10.2008 в 14:40)   письмо автору
 
 

Недавно у меня состоялся один интересный разговор с одним из возможных работадателей (веб-студия, занимающая разработкой сайтов, судя по портфолио - довольно локальных проектов, с маленькой посещаемостью - сайты-визитки для фирм, с гостевыми книгами). Беседа постепенно кстатилась на тему шаблонизаторов, и в часности Smarty. По поводу последнего этот самый работадатель заметил что мы не работаем с ним, поскольку он очень медленный (Тут надо сделать лирическое отступление, о том что у меня отпыта работы с высокозагруженными приложениями нету, но я двигаюсь примерно в этом направлении, надеюсь с компасом все в порядке) и они не используют шаблоны, а выводят текст посреди php-кода. Насколько я знаю смарти считается "приемлемо быстрым" и меня довольно сильно удивил этот аргумент, учитывая невысокую как фактичиски, так и предпологаемую посещаемость их сайтов, если бы он звучал как "проекты не настолько сложны, что бы отделать код представления от логики преложения" меня бы не смутил этот факт. Внимание, вопрос - а что смарти действительно настолько "медленный", говорю сматри - подразумеваю шаблонизаторы. И еще один вопрос - а чем же собственно отличается шаблонизатор от фреймворка?

  Ответить  
 
 автор: Loki   (30.10.2008 в 15:53)   письмо автору
 
   для: Гость   (30.10.2008 в 14:40)
 

Не претендуя на глубокое знание я бы объяснил так:
самые медленные - пассивные шаблоны, так как их невозможно "скомпилировать", поэтому приходится парсить каждый раз (условно)
активные шаблоны, с возможностью компиляции (смарти) много быстрее, так как после компиляции мы получаем столь любимый работодателем php код вперемежку с дизайном. Другой вопрос, что шаблонизатор это сделает не столь компактно и красиво как бы это сделал программист. В итоге код получается чуть медленнее и охоч до памяти.
Писать код вперемежку с дизайном, если планируется поддержка, на мой взгляд - дурдом. На потраченные при его сопровождении человекочасы можно купить не один сервер.
Понятное дело, что при проектировании высоконагруженных приложений имеет смысл кэшировать все, что возможно. Смарти, в этом плане, предоставляет достаточно удобный инструментарий.
Фреймворк лично я понимаю, как некий комплект функций, облегчающих разработку (эти функции совсем необязательно связаны с отображением информации). Мне кажется что многие шаблонизаторы представляют собой фреймворки в той или иной степени.

  Ответить  
 
 автор: sp10   (30.10.2008 в 20:11)   письмо автору
 
   для: Гость   (30.10.2008 в 14:40)
 

Зачем Smarty, если всё можно делать средствами РНР
http://php.webconsulting.by/2008/04/23/view-templates-smarty-vs-php/

  Ответить  
 
 автор: Гость   (30.10.2008 в 20:59)   письмо автору
 
   для: sp10   (30.10.2008 в 20:11)
 

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

  Ответить  
 
 автор: sp10   (31.10.2008 в 11:24)   письмо автору
 
   для: Гость   (30.10.2008 в 20:59)
 

"пхп код не мешался с дизайном"

Вы говорите о принципе MVC, но какое к ней отношение имеет обязательное использование Smarty? Отделение т.н. business logic и presentation logic хорошо, но ведь presentation logic тоже может быть написан на РНР. Неужели дизайнер удивится увидив foreach вместо loop?

  Ответить  
 
 автор: Loki   (31.10.2008 в 11:51)   письмо автору
 
   для: sp10   (31.10.2008 в 11:24)
 

Я думаю что удивится:)
Наверное вы обратили внимание на то, что синтаксис смарти нарочито упрощен: хочешь параметры в кавычках передавай, хочешь без кавычек, а хочешь - не передавай вовсе. Так же с массивами и прочим. То есть изначально шаблон ориентирован на верстальщика или дизайнера, который о программировании имеет очень общее представление, а php может не знать вообще. Мне кажется что это правильно. Кроме того, такой шаблон можно открыть в броузере и посмотреть. А если программист делает шаблон сам и для себя - наверное и голый php вполне подойдет...

  Ответить  
 
 автор: BinLaden   (30.10.2008 в 21:28)   письмо автору
 
   для: sp10   (30.10.2008 в 20:11)
 

> Зачем Smarty, если всё можно делать средствами РНР

Smarty и написан на PHP.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования