Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Шаблонизатор
Форумы портала PHP.SU » PHP » Программирование на PHP » Шаблонизатор

Страниц (1): [1]
 

1. Vanu4 - 13 Июня, 2008 - 16:30:41 - перейти к сообщению
Уже давно хотел написать свой какой-то простенький шаблонизатор. Хотел спросить: есть ли смысл писать свой или лучше начинать разбираться в других, например SMARTY. Но он сильно много весит и если я, например, хочу написать небольшой модуль, то все место на себя только этот шаблонизатор и потянет. И вообще, сложно это все дело делается или нет? Кто что знает и может что-то дельное подсказать буду сильно презнателен.
2. Джур - 13 Июня, 2008 - 18:26:37 - перейти к сообщению
хм... меня все знают как противника шаблонизатора smarty поэтому про него я говорить не буду, чтобы никого не обидеть. Ха-ха

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

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

допустим шаблон
CODE (text):
скопировать код в буфер обмена
  1. <table>
  2. <tr><td>@left@</td><td>@right@</td></tr>
  3. </table>


а вот пример шаблонизатор а
PHP:
скопировать код в буфер обмена
  1. <?
  2. $m['@left@']='текст для левой части';
  3. $m['@right@']='текст для правой части';
  4. $x=file_get_contents('1.tpl');
  5. echo strtr($x,$m);
  6.  

вот вам и шаблонизатор. только смысла от него почти нету.

Резюмирую: если вам нужен шаблонизатор и вы понимаете для чего нужен и как то конечно пишите. Не надо использовать технологию если она не принесет особой пользы или замедлит вашу работу. Ненадо использовать smarty если вам достаточно простейших шаблонов.
3. Vanu4 - 17 Июня, 2008 - 09:54:08 - перейти к сообщению
Вот что я хочу от этого шаблонизатора: основное - это разделить програмную часть от хтмл.
Например, я делаю хтмл-файл, в который вставляю что-то типа {$text}, а он уже сам подставляет в него значение этой переменной из проги.
Не могбы кто-то основные нюансы шаблонизаторов описать, что, куда, и как?
4. Вездеход - 17 Июня, 2008 - 10:26:10 - перейти к сообщению
вот еще парачка примеров - http://forum.php.su/topic.php?fo...=35&topic=14
5. Джур - 17 Июня, 2008 - 15:15:03 - перейти к сообщению
Vanu4 пишет:
это разделить програмную часть от хтмл

Гхе... Обычно хотят азделить логику и представление. А это не совсем одно и тоже что разделение на програмную часть и html. Улыбка

допустим, логика - это какой-то скрипт который генерирует например массив данных... Как этот массив будет отображатся на сайте не важно ибо за вывод данных будет отвечать уже представление. А представление, может быть и таким:

полученные данные
PHP:
скопировать код в буфер обмена
  1. <?
  2. $data=array(
  3. array(1,4,7,8),
  4. array(9,4,7,8),
  5. array(1,4,7,1)
  6. );
  7. $title='titll1';


представление
PHP:
скопировать код в буфер обмена
  1. <html>
  2. <head>
  3.   <title><?=$title;?></title>
  4. </head>
  5. <body>
  6. <table border="1">
  7. <?
  8. foreach($data as $v){
  9.   echo '<tr>';
  10.   foreach($v as $v2){
  11.     echo '<td>'.$v2.'</td>';
  12.   }
  13.   echo '</tr>';
  14. }
  15. ?>
  16. </table>
  17. </body>
  18. </html>

Как видите, разделять РНР и html свовсем и не обязательно. Нужно разделять логику и представление
6. Vanu4 - 17 Июня, 2008 - 22:40:06 - перейти к сообщению
Джур пишет:
Гхе... Обычно хотят азделить логику и представление. А это не совсем одно и тоже что разделение на програмную часть и html. Улыбка

Я думаю, что это чисто придирание к словам. Ваше сообщения никакой полезной и ценной информации не несет. Была нормально сформулирована просьба помочь разобраться в шаблонизаторе, а не писать, что, мол, я чего-то не так понимаю. Сути ваша инфа абсолютно не несет. Если нет чего умного скать, то, я считаю, лучше помолчать!
7. Джур - 17 Июня, 2008 - 22:50:05 - перейти к сообщению
Vanu4 пишет:
Я думаю, что это чисто придирание к словам.

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

Vanu4 пишет:
Сути ваша инфа абсолютно не несет. Если нет чего умного скать, то, я считаю, лучше помолчать!

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

Мы с Вездеходом уже накидали тебе инфы, жуй.
8. scuter - 17 Июня, 2008 - 23:16:46 - перейти к сообщению
Радость Радость Радость
я уже поднимал такую тему, люди как то недолюбливают такое дело,
если посмотришь предидущие темы найдёшь,


я свой написал мне нравиться, он простой маленький и там мало г**на,
в итличае от смарти.

 

Powered by ExBB FM 1.0 RC1