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 :: Начал писать свой шаблонизатор(мини) [2]

 PHP.SU

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


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

> Без описания
Symby
Отправлено: 23 Февраля, 2012 - 11:18:06
Post Id



Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Февр. 2012  
Откуда: Пермь


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




Простите за флейм)
Как то раз, на лекции, нам профессор озвучил свое мнение:
"Вы спрашиваете зачем писать свое решение если вокруг столько много готовых решений? Ответ мой будет вопросом к вам: Зачем мы с вами будем писать ОС на практике? Конечно, чтоб лучше понимать чем мы занимаемся. Да, мы знаем на словах теорию архитектуры и проектирования ОС, но чтоб не осталось пробелов в теории, мы спроектируем и напишем свою "ОС". Может, вы никогда не будете больше писать подобие ОС, но на всю жизнь запомните как она работает не только с теоретической части но и с практической. Да и запомните дорогие студенты кто двигает нашу любимую отрасль, те самые программисты своих решений."


-----
Пишу немного о электронной музыке > http://techno-arena[dot]ru
 
 Top
etoYA
Отправлено: 23 Февраля, 2012 - 12:17:09
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


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




Symby, я тут даже флейма не увидел, а лишь, подтверждение полезности моего велосипеда..

А по топику.

PHP:
скопировать код в буфер обмена
  1.  
  2. for($i=0; $i<count($tpl); $i++) {
  3.         $this->template = str_replace(strtoupper('{'.$tpl[$i].'}'), file_get_contents($this->dir.$name.'/'.$tpl[$i].'.tpl'), $this->template);
  4.         $this->template = preg_replace('#\['.strtoupper($tpl[$i]).'\]#','<div id="'.$tpl[$i].'">', $this->template);
  5.         $this->template = preg_replace('#\[\/(.*)\]#', '</div>', $this->template);
  6.                 }
  7.  

Как это брать из файла, к примеру есть файл leftcollum.tpl, а вот его содержимое

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <div id="leftcollum">
  3. {BLOCK1}{/BLOCK1}
  4. {BLOCK2}{/BLOCK2}
  5. ....
  6. {BLOCK10}{/BLOCK10}
  7. </div>
  8.  

(Отредактировано автором: 23 Февраля, 2012 - 12:22:59)

 
 Top
Alho
Отправлено: 01 Июня, 2012 - 18:32:30
Post Id



Посетитель


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


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





Это называет синдромом NIH Радость , ну а если по нашему, интернетовскому, то ощущение фатального недостатка)))
 
 Top
etoYA
Отправлено: 01 Июня, 2012 - 22:11:50
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


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




Alho, этот топик стар как мир, уже давно не использую шаблонизаторы, а тем более - не пишу свой.
 
 Top
romario0403
Отправлено: 06 Июня, 2012 - 09:56:54
Post Id



Гость


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


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




тут подумал...а какой смысл писать шаблонизатор, если в шаблоне будет использован свой синтаксис...и если верстальщик протянет руки куда не положено, попортит теги в шаблоне, то кусок (минимум) попросту отвалится от страницы...
лишняя нагрузка на машину ИМХО

(Отредактировано автором: 06 Июня, 2012 - 09:57:30)

 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB