Smarty. To be or not to be?

Активист

Активист
Команда форума
Имхо, нужно отделять HTML от PHP, обязательно, шаблонизатором "типа SMARTY" (достаточно прочитать документацию).

Иначе, в вашем коде будут разбираться только Вы,.

Это - http://phpclub.ru/paste/index.php?show=2251 ужас, имхо.

Минусы:
- какие-то функции где-то находятся, а дримвивер их не видит...
- какие-то закрытые теги без открытых тегов
PHP:
? include(FUNCTIONS.'helper.sort_link.php') ?>
<? include(FUNCTIONS.'helper.navigation.php') ?>
<? include('header.php') ?>
</head><body>
- какие-то подключаемые файлы, да еще и на PHP.
...
...
Плюсы:
не увидел.

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

Safary

Новичок
Smarty не хочу использовать. Хочется всё своё...
Просто хрен знает что в смарти написано и т.д.
Как бы хочется всё свое, из-за того что хочу разбираться во всем что есть у мя. CMS свою - для того чтоб разбираться в ней и менять всё что захочу и не использовать чужие CMS с корявыми кодами...
 

x-yuri

Новичок
если в ПХП создавать функцию, а в шаблоне просто писать - <? content(); ?> вроде тоже вариант.. или не?
можно, если эта функция будет преобразовывать данные, а не получать их из базы. Еще полезно разбивать шаблон на функции (ведь с кодом же зачем-то это делают) или не делать больших шаблонов

...
echo '<table>';
foreach( $data as $rec )
echo '<tr><td>'.$rec['field1'].'</td>...</tr>';
echo '</table>';
...

это не шаблон, это говнокод
triumvirat сам так не пишу, но минусов такой записи не вижу. Может подскажешь?

Активист как-то слишком категорично. Не все используют дримвивер и некоторые сами себе верстальщики. По поводу торчащего </head> - я бы тоже постарался его избежать. Но может это было оправдано в этом проекте (не было времени). И не вижу ничего плохого в том, чтобы подключить хелперы.

-~{}~ 01.01.09 20:26:

Smarty не хочу использовать. Хочется всё своё...
Просто хрен знает что в смарти написано и т.д.
Как бы хочется всё свое, из-за того что хочу разбираться во всем что есть у мя. CMS свою - для того чтоб разбираться в ней и менять всё что захочу и не использовать чужие CMS с корявыми кодами...
Safary полезно для начала поиспользовать чужое. Ты увидишь недостатки, позитивные стороны, поймешь как оно работает. И тогда тебе проще будет свое написать, если такое желание останется. Решать проблемы с нуля сложно. Как там, "умные учатся на чужих ошибках"? А чужое всегда можно критиковать потому, что идеально сделать невозможно - чем-то ради чего-то надо жертвовать. Просто у каждого проекта свои приоритеты. Но, конечно, нельзя не согласится, что http://gagin.tv/index.php?page=37
 

Safary

Новичок
x-yuri, я не критикую Smarty, я даже не устанавливал и не использовал его, тока документацию немного почитал, чтобы понять как оно работает. Просто не хочу чужое использовать, из-за того что не понимаю как оно работает, тоесть не знаю как оно написано и т.д.
Я идеально и не хочу сделать, я хочу сделать максимально приближенное к идеалу - для себя, тоесть для вас это идеалом не будет =)

-~{}~ 01.01.09 21:53:

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

x-yuri

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

В общем если ты хочешь создать хороший шаблонизатор, полезно посмотреть на другие
 

Фанат

oncle terrible
Команда форума
Активист, с добрым утром. На этом форуме уже года два, как выяснили, что смарти-код НИЧЕМ не отличается от пхп-кода. попробуй самостоятельно сравнить, а не бубнить тупо зазубренные "истины" и сам поймешь.

x-yuri я подскажу. Минусов в такой записи вагон. В первую очередь - здесь отсутствует HTML код.

можно, если эта функция будет преобразовывать данные
эта функция не преобразует данные. она выводит их. значит - нельзя.
 
Сверху