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

Форум PHP

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

 

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

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

тема: Smarty - компилирующий обработчик шаблонов для php...
 
 автор: ULIS   (24.01.2007 в 18:48)   письмо автору
 
 

Если есть люди, которые имеют опыт работы со smarty, поделитесь пожалуйста. Хотя бы самыми общими понятиями. Буду очень рад.
Заранее спасибо... )))

   
 
 автор: ULIS   (24.01.2007 в 18:59)   письмо автору
 
   для: ULIS   (24.01.2007 в 18:48)
 

Неужели все так плохо?
Никто ничего подсказать не может? ((

   
 
 автор: sim5   (24.01.2007 в 19:07)   письмо автору
 
   для: ULIS   (24.01.2007 в 18:59)
 

Вот в общих чертах: http://smarty.php.net/download-docs.php. В Интернете наверное можно найти какой либо free-движок, самому покопаться маненько, в общих чертах будет понятно.

   
 
 автор: ULIS   (24.01.2007 в 19:13)   письмо автору
 
   для: sim5   (24.01.2007 в 19:07)
 

Да я нашел доки по smarty...
Просто перед тем, как приступить к изучению хотелось бы узнать по этому вопросу мнение людей, у которых уже есть опыт работы со Smarty.
Но в любом случае спасибо, sim5

   
 
 автор: Loki   (25.01.2007 в 09:17)   письмо автору
 
   для: ULIS   (24.01.2007 в 19:13)
 

а какое мнение вам надо? стоит или не стоит? стоит... или не стоит:)

   
 
 автор: Crux   (25.01.2007 в 10:46)   письмо автору
 
   для: ULIS   (24.01.2007 в 19:13)
 

Smarty - вполне удобный шаблонизатор.

   
 
 автор: Pit0n   (25.01.2007 в 11:17)   письмо автору
 
   для: Crux   (25.01.2007 в 10:46)
 

Как написано в документации действительно удобно с ним работать отделив код PHP от HTML. Нужно лишь разобратьсяв шаблонах и все. Очень удобно при проектировании движков и т.д. В общем для целиком больших проектов

   
 
 автор: Loki   (25.01.2007 в 12:43)   письмо автору
 
   для: Crux   (25.01.2007 в 10:46)
 

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

   
 
 автор: Sergey89   (25.01.2007 в 12:52)   письмо автору
 
   для: Loki   (25.01.2007 в 12:43)
 

Всетаки это шаблонизатор, использующий активные шаблоны.

   
 
 автор: Loki   (25.01.2007 в 12:58)   письмо автору
 
   для: Sergey89   (25.01.2007 в 12:52)
 

PHP - те же самые активные шблоны. Так что это не аргумент.
Задача шаблонизатора - позволить дизайнеру и программисту работать относительно независимо друг от друга. Смарти этого не позволяет.

   
 
 автор: Sergey89   (25.01.2007 в 13:07)   письмо автору
 
   для: Loki   (25.01.2007 в 12:58)
 

Да PHP тоже хорошо подходит на эту роль. По вашему мнению, шаблонизатор может использовать только пассивные шаблоны?

   
 
 автор: Loki   (25.01.2007 в 13:14)   письмо автору
 
   для: Sergey89   (25.01.2007 в 13:07)
 

Если исходить из задач шаблонизатора, то да. Не буду голословным. Вот пример:

{assign var="nesting" value="-1"}
{assign var="list_title" value="заголовок"}
{foreach from=$rubrics item=item name=rublist}
    {if $nesting lt $item.nesting}
        <ul title="{$list_title|escape}">
    {elseif $nesting gt $item.nesting}
        {section name=closelist1 max=10 loop="`$nesting-$item.nesting`"}</ul>{/section}
    {elseif not $smarty.foreach.rublist.first}
        </li>
    {/if}
    <li><a href="{$item.path}" title="{$item.name|escape}" target="_self">{$item.name|escape}</a>
    {assign var="nesting" value="`$item.nesting`"}
    {if $smarty.foreach.rublist.last}
        {section name=closelist2 loop=`$nesting+1`}</li></ul>{/section}
    {/if}
{/foreach}

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

   
 
 автор: Sergey89   (25.01.2007 в 13:32)   письмо автору
 
   для: Loki   (25.01.2007 в 13:14)
 

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

   
 
 автор: Loki   (25.01.2007 в 13:48)   письмо автору
 
   для: Sergey89   (25.01.2007 в 13:32)
 

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

   
 
 автор: ULIS   (25.01.2007 в 13:59)   письмо автору
 
   для: Loki   (25.01.2007 в 13:48)
 

То есть использование "смарти" исключает необходимость работы "верстальщика", или как?

   
 
 автор: Loki   (25.01.2007 в 14:09)   письмо автору
 
   для: ULIS   (25.01.2007 в 13:59)
 

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

   
 
 автор: ULIS   (25.01.2007 в 14:19)   письмо автору
 
   для: Loki   (25.01.2007 в 14:09)
 

Проще говоря, "смарти" - враг верстальщика? )) Ведь в таком случае контроль над разработкой проетка переходит к программисту?
Хорошо... Если "смарти" осложняет работу верстальщика, а программист эту работу не делает, то какие есть альтернативные способы для динамической генерации статического НТМЛ?
Просто делаю это впервые и практически ничего не знаю, вы уж извините за любопытство
Спасибо

   
 
 автор: Loki   (25.01.2007 в 14:40)   письмо автору
 
   для: ULIS   (25.01.2007 в 14:19)
 

Ну верстальщики тоже разные бывают:)
Мой дизайнер, увидев шаблон смарти, заявил что к ЭТОМУ он не притронется:) Может у вас ситуация будет прямо противоположная;)
Выход - использование пассивных шаблонов. Правда, в этом случае будет невозможно их компилировать, а значит существенно упадет скорость обработки (правда, остается возможность их кэшировать).
В общем, как всегда на разных чашах весов лежат читаемость, компактность и скорость.

   
 
 автор: Sergey89   (25.01.2007 в 15:16)   письмо автору
 
   для: ULIS   (25.01.2007 в 14:19)
 

Смарти пытались сделать универсальным инструментом для работы с активными шаблонами. Но что из этого вышло, Вам показали... Слишком дорогой ценой была куплена универсальность. Для собственных проектов я бы советовал писать свой шаблонизатор. Верстальщику потом будет легче объяснить как с ним работать ;-)

   
 
 автор: denvor   (16.02.2007 в 12:54)   письмо автору
 
   для: Sergey89   (25.01.2007 в 15:16)
 

Действительно, дизайнеру мало разницы, что вставлять {body} или <?=$body?>/ Так что, я тоже не очень представляю выгоду от смарти

   
Rambler's Top100
вверх

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