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]   

> Описание: Шаблон
Predator
Отправлено: 22 Августа, 2012 - 08:53:39
Post Id



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


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


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

[+][+][+]


Решил попробовать ,начать написанию cms. Скажите пожалуйста, какой шаблонизатор лучше ставить на cms. Планирую в дальнейшем форум делать, какой удобней и по коду будит меньше потреблять ресурсов?
 
 Top
OrmaJever Модератор
Отправлено: 22 Августа, 2012 - 09:11:26
Post Id



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


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


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




Странно, собрались писать цмс, а свой шаблонизатор написать не можите? Шаблонизатор это буквально 3 метода. Вот нашёл свой класс который я очень давно писал.
PHP:
скопировать код в буфер обмена
  1. class template
  2. {
  3.         private $file = '';
  4.         private $template = false;
  5.     private $vars = array();
  6.  
  7.         function __construct($file)
  8.         {
  9.                 $this->file = $file;
  10.  
  11.                 if(empty($this->file) or !file_exists($this->file))
  12.                 {
  13.                         exit('Не верный файл шаблона!');
  14.                 }
  15.  
  16.                 $this->template = file_get_contents($this->file);
  17.         }
  18.  
  19.         function set($key,$var)
  20.         {
  21.                 $this->vars[$key] = $var;
  22.         }
  23.  
  24.         function parse()
  25.         {
  26.                 if(empty($this->vars)) echo $this->template;
  27.  
  28.                 foreach($this->vars as $find => $replace)
  29.                 {
  30.                         $this->template = str_replace($find, $replace, $this->template);
  31.                 }
  32.  
  33.                 echo $this->template;
  34.         }
  35. }
  36.  
  37. /*
  38. $tpl = new template(filename);  // (string) Имя файла с шаблоном
  39. $tpl->set(find, replace);               // (string) Что менять и на что менять
  40. $tpl-parse();                                   //  Заменяем и выводим в браузер
  41. */


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Predator
Отправлено: 22 Августа, 2012 - 09:31:12
Post Id



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


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


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

[+][+][+]


Я толком еще не знаю, у кого спрашивал. Все используют готовый. А так спасибо.
 
 Top
Green
Отправлено: 22 Августа, 2012 - 11:53:26
Post Id



Частый гость


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


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




Лично я бы использовал свой небольшой шаблонизатор. Вот типа того, код которого выложил OrmaJever. В сети есть такие монстры как Смарти - но там куча лишнего. Не вижу смысла такие использовать. В DLE еще установлен неплохой шаблонизатор, посмотрите, может понравится.

P.S А вообще, мое мнение такого: шаблонизаторы не нужны.
 
 Top
Predator
Отправлено: 22 Августа, 2012 - 12:23:30
Post Id



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


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


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

[+][+][+]


СПс

(Отредактировано автором: 22 Августа, 2012 - 12:25:11)

 
 Top
КотБорис
Отправлено: 22 Августа, 2012 - 12:24:44
Post Id



Новичок


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


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




Эм... Может кто объяснит, что такое шаблонизатор? CSM ещё писать не пробовал, только простенькие скрипты.


-----
Упорись @ веселись
 
 Top
Green
Отправлено: 22 Августа, 2012 - 12:28:31
Post Id



Частый гость


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


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




КотБорис,
Википедия пишет:

Шаблонизатор (в web) — это программное обеспечение, позволяющее использовать html-шаблоны для генерации конечных html-страниц. Основная цель использования шаблонизаторов — это отделение представления данных от исполняемого кода. Часто это необходимо для обеспечения возможности параллельной работы программиста и дизайнера-верстальщика. Использование шаблонизаторов часто улучшает читаемость кода и внесение изменений во внешний вид, когда проект целиком выполняет один человек.
Использование шаблонизаторов часто отождествляют с парадигмой MVC. Эти понятия связаны, но не тождественны.

(Отредактировано автором: 22 Августа, 2012 - 12:30:21)

 
 Top
caballero
Отправлено: 22 Августа, 2012 - 12:42:06
Post Id


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


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


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




Цитата:
Шаблонизатор (в web) — это программное обеспечение, позволяющее использовать html-шаблоны для генерации конечных html-страниц.

Пример шаблонизатора - язык PHP. И этого более чем достаточно


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Predator
Отправлено: 22 Августа, 2012 - 12:48:56
Post Id



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


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


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

[+][+][+]


PHP:
скопировать код в буфер обмена
  1.      $this->tpl  = dirname(__file__)  .'/templates/'. $tpl;

Не получается указать папку и загрузить шаблон. Откуда у меня в начале пути точка?
Как правильно указать папку в которой находятся шаблоны?

(Отредактировано автором: 22 Августа, 2012 - 12:57:32)

 
 Top
caballero
Отправлено: 22 Августа, 2012 - 12:56:01
Post Id


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


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


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




не умеешь прочитать файл а уже CMS собрался писать?

в одной строке две криво использованые функции

возьми путь от DOCUMENT_ROOT


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
KingStar
Отправлено: 22 Августа, 2012 - 13:01:29
Post Id



Участник


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


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




Predator ты в своем уме??? с твоими знаниями и кривыми руками вагоны разгружать, закройся и не позорься!!! мне становится страшно А?!


-----
То что программа работает, не означает что она написана правильно!
 
 Top
КотБорис
Отправлено: 22 Августа, 2012 - 13:03:50
Post Id



Новичок


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


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




Green, благодарю.
Спойлер (Отобразить)


-----
Упорись @ веселись
 
 Top
kappa
Отправлено: 22 Августа, 2012 - 13:43:28
Post Id



Посетитель


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


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




Вот хороший шаблонизатор http://twig[dot]sensiolabs[dot]org/
 
 Top
Cassandra
Отправлено: 03 Сентября, 2012 - 11:28:00
Post Id


Новичок


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


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




Почитайте на ХэшКоде обсуждение: Какие шаблоны лучше использовать в многоцелевой CMS? http://hashcode[dot]ru/questions/335[dot][dot][dot]многоцелевой-cms
Есть подробные описания некоторых шаблонизаторов: возможности, скорость, расширяемость, юзабилити...
 
 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