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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Шаблонизатор

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Vanu4
Отправлено: 13 Июня, 2008 - 16:30:41
Post Id



Новичок


Покинул форум
Сообщений всего: 60
Дата рег-ции: Май 2008  


Помог: 0 раз(а)




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



Посетитель


Покинул форум
Сообщений всего: 423
Дата рег-ции: Март 2007  


Помог: 0 раз(а)




хм... меня все знают как противника шаблонизатора 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 если вам достаточно простейших шаблонов.


-----
Тамбовский каджит тебе товарищ
 
 Top
Vanu4
Отправлено: 17 Июня, 2008 - 09:54:08
Post Id



Новичок


Покинул форум
Сообщений всего: 60
Дата рег-ции: Май 2008  


Помог: 0 раз(а)




Вот что я хочу от этого шаблонизатора: основное - это разделить програмную часть от хтмл.
Например, я делаю хтмл-файл, в который вставляю что-то типа {$text}, а он уже сам подставляет в него значение этой переменной из проги.
Не могбы кто-то основные нюансы шаблонизаторов описать, что, куда, и как?
 
 Top
Вездеход
Отправлено: 17 Июня, 2008 - 10:26:10
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008  
Откуда: Россия


Помог: 0 раз(а)




вот еще парачка примеров - http://forum.php.su/topic.php?fo...=35&topic=14


-----
о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
 
 Top
Джур
Отправлено: 17 Июня, 2008 - 15:15:03
Post Id



Посетитель


Покинул форум
Сообщений всего: 423
Дата рег-ции: Март 2007  


Помог: 0 раз(а)




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 свовсем и не обязательно. Нужно разделять логику и представление


-----
Тамбовский каджит тебе товарищ
 
 Top
Vanu4
Отправлено: 17 Июня, 2008 - 22:40:06
Post Id



Новичок


Покинул форум
Сообщений всего: 60
Дата рег-ции: Май 2008  


Помог: 0 раз(а)




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

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



Посетитель


Покинул форум
Сообщений всего: 423
Дата рег-ции: Март 2007  


Помог: 0 раз(а)




Vanu4 пишет:
Я думаю, что это чисто придирание к словам.

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

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

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

Мы с Вездеходом уже накидали тебе инфы, жуй.


-----
Тамбовский каджит тебе товарищ
 
 Top
scuter
Отправлено: 17 Июня, 2008 - 23:16:46
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




Радость Радость Радость
я уже поднимал такую тему, люди как то недолюбливают такое дело,
если посмотришь предидущие темы найдёшь,


я свой написал мне нравиться, он простой маленький и там мало г**на,
в итличае от смарти.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB