|
|
|
| Здравствуйте.
Такая ситуация. У нас большой проект. Городской портал, несколько разделов. Делали год. Мы только разработкой занимались, проектировали другие люди - наши заказчики (они web-программисты, знают php), у нас были подробные тз. Делали, делали спокойно. Сделали на 75%. Но вот в один прекрасный день начальство заказчиков обнаруживает, что проект делается без шаблонизатора (мы его не использовали ни в этом проекте, ни вообще). Оказывается у них там появилась группа дизайнеров, надо отделить дизайн от кода, а то дизайнеры правят php-код, из-за этого постоянно возникают Warning'и и другие ошибки, еще надо было положить шаблоны всех разделов на отдельный домен, чтобы в одном месте были. Короче не знаю какой нагоняй дали заказчику, но штраф был хороший. Мы (точнее здесь я один) же практически за даром (а то заказчик под двойной штраф попадет :) в течении полутора месяца переделываем то, что делали год. Бог с ней с этой ситуацией. Рассказал как есть, вопросов у меня по ней нет. К субботнику был готов, поскольку не мог так хорошо проект идти, рано или поздно переделки настигнут :) Но возникает другой вопрос:
* Стоит ли использовать шаблонизатор в последующих проектах?
АРГУМЕНТ ЗА:
* Никому не пожелаю подобных полуторамесячных субботников без зп и выходных.
АРГУМЕНТ ПРОТИВ:
* Если работаем над проектом мы - прекрасно без него обходимся, он только усложняет дело.
Пока такой вывод: лучше поставить... Но это под впечатлением... | |
|
|
|
|
|
|
|
для: antf
(20.04.2009 в 23:01)
| | Делайте то, что подсказывает опыт. Попытка выяснить все "за" и "против" приводит, например, к таким темам: http://softtime.ru/forum/read.php?id_forum=1&id_theme=61263, http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=64364 | |
|
|
|
|
|
|
|
для: Лерк
(20.04.2009 в 23:54)
| | Темы не читал, но видел. Не буду спорить о том, нужен шаблонизатор или нет, я практик. Если он дает какие-то бонусы - однозначно нужен. Я о нем месяц назад имел только смутные представления... :) Тема скорее о том как я попал и как не попасть (по возможности :) в дальнейшем :)
>Попытка выяснить все "за" и "против" приводит, например, к таким темам
Тут больше хотелось бы услышать программистов-практиков, которые шаблонизатор используют... Что он им дает? :)
Ну и еще потом, может, выложу свои мысли на этот счет :) | |
|
|
|
|
|
|
|
для: antf
(21.04.2009 в 00:26)
| | Мне как-то (было это давненько) пришлось делать сайтик с двумя HTML-разметками. Обычно это называют "скинами". Попытка уместить это в один файл привела меня к мысли, что стоит использовать шаблонизатор - смотреть на код стало невозможно.
В последствии, кстати, я так же стал разделять элементы языка и разметку для возможности создания мультиязычности сайта. Если вы сталкивались с такой проблемой, как несколько языков на одном сайте, то примерно сможете оценить для чего нужно шаблоны.
Ну и, как вы уже успели сталкнуться с проблемой дизайнеров. Они копаться в PHP-коде нормально врядли смогут. | |
|
|
|
|
|
|
|
для: Лерк
(21.04.2009 в 00:59)
| | Месяц поработал со Смарти. Очень понравились include'ы и операторы {if}, {section}, {foreach}. Еще не пробовал кэширование и другие фичи :) Хорошее средство отделить дизайн от кода. До этого, если использовал шаблоны, они были простыми, типа <p>{text}</p>. Возможности ограниченны, а тут этих ограничений нет :)
Возникла только мысль: не отпугнут ли мета-операторы дизайнеров? Впрочем скоро узнаем :)
>В последствии, кстати, я так же стал разделять элементы языка и разметку для возможности создания мультиязычности сайта.
Спасибо за идею. Мы обычно делали два разных движка :)! И до сих пор думал как облегчить эту задачу... | |
|
|
|
|
|
|
|
для: antf
(21.04.2009 в 01:36)
| | По поводу разделения элементов языка и разметки: обычно переменные просто разделяют с разными приставками, чтобы было понятно (и вам, и, скажем, шаблонизатору, если его правильно применять) что есть что:
<b>{$lng_nick}</b>: {$nick}
|
(в этом примере всё с "lng_" берём из ленг-пака, а $nick из обычных данных). | |
|
|
|
|
|
|
|
для: Лерк
(21.04.2009 в 01:40)
| | А у меня для этих целей введен дополнительный тег
<b>{t}Имя{/t}</b>: {$nick}
|
При этом удобно то, что не надо заботиться об актуальности лэнг-пака - если ключ не существует, то просто будет выведено содержимое тега. | |
|
|
|