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]   

> Без описания
supernick
Отправлено: 05 Августа, 2014 - 18:10:28
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Июль 2014  


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




Здравствуйте. Хотел бы попросить у Вас помощи: посоветуйте литературу и статьи по написанию шаблонов. Чем подробнее, тем лучше. Примеры приветствуются. Интересует все: как правильно писать шаблон html, как писать шаблонизатор или код php чтобы без проблем связать его с шаблоном, как правильно их связывать вообще. Лично для меня вообще остается загадкой, как можно наглухо разделить php и html, особенно в отношении таблиц с данными. Прошу прощения, если вопрос задан не в том разделе. На мой взгляд он одинаково равно затрагивает и php и html.
 
 Top
OrmaJever Модератор
Отправлено: 05 Августа, 2014 - 19:10:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




Шаблонизатор для вас уже написан, и он называется php.
1) Файлы шаблонов в формате php.
2) Из кода где нужно подключить шаблон пишите просто

3) В самом шаблоне используйте простые php конструкции для вывода информации

PHP:
скопировать код в буфер обмена
  1. <? if(1 == 2) : ?>
  2. html code
  3. <? endif; ?>

PHP:
скопировать код в буфер обмена
  1. <? while($row = $result->fetch()) : ?>
  2. html code <?=$row->some_row?>
  3. <? endwhile; ?>


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
teddy
Отправлено: 05 Августа, 2014 - 21:04:56
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


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




PHP:
скопировать код в буфер обмена
  1. function render($template, array $data = array(), $extension = '.php')
  2. {
  3.     ob_start();
  4.     extract($data);
  5.     include VIEWS_PATH.$template.$extension;
  6.     return ob_get_clean();
  7. }

Вот и весь шаблонизатор.
(Добавление)
supernick пишет:
как можно наглухо разделить php и html, особенно в отношении таблиц с данными.

Наглухо конечно не получится отделить PHP и HTML хотя бы потому, что как правило данные полученные из PHP выводятся в HTML .

P.S: погуглите MVC. Думаю это то, что Вам нужно.
 
 Top
RickMan
Отправлено: 06 Августа, 2014 - 09:07:27
Post Id


Участник


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


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




Почитай про twig. Очень известный и используемый шаблонизатор.
Вот пару ссылок:
http://twig[dot]sensiolabs[dot]org/
http://ruseller[dot]com/lessons.php?[dot][dot][dot]b=37&id=1648

Вообще этот шаблонизатор встроен в symfony2 но его можно подключить везде.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB