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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Crate
Отправлено: 19 Января, 2012 - 13:21:33
Post Id



Посетитель


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


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




caballero пишет:
уже существует готовый - называется PHP
Так как же все таки сделать его с помощью метаязыка?
 
 Top
sKaa
Отправлено: 19 Января, 2012 - 13:38:28
Post Id



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


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


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

[+]


caballero пишет:
Тебе не говорят что надо отказаться, тебе говорят что шаблонизатор уже существует готовый - называется PHP

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

Я бы сначало открыл шаблон через fopen, затем заменил то, что нужно через str_replace (без всяких include тут ессно), потом сохранил бы полученный результат уже после обработки str_replace в файл в папке cache, а открывал бы его уже через include и extrack..
Ессно проверка на существование файла в кэше, если false то заново "скомпилировать" его опять через str_replace и сохранить.


Такая конструкция даст возможность и делать любые тэги по типу {CONTENT} и стандартные операторы пхп в шаблоне :
PHP:
скопировать код в буфер обмена
  1.  
  2. <html ...>
  3. <body>
  4. {HEADER}
  5. <div style='layout'>
  6. <?
  7. if(isset($_GET['act'])){
  8.  // Ну а тут можно какую-нибудь модель припаять, по аналогии :
  9.  User::getUserInfo(); //
  10. }
  11. ?>
  12. </div>
  13.  

(Отредактировано автором: 19 Января, 2012 - 13:43:06)

 
 Top
Crate
Отправлено: 19 Января, 2012 - 14:23:07
Post Id



Посетитель


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


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




А как пересохранить скомпилированный файл в другую директорию?
 
 Top
caballero
Отправлено: 19 Января, 2012 - 14:24:45
Post Id


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


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


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




Цитата:
Так как же все таки сделать его с помощью метаязыка?

Кого "его" и зачем какой то метаязык вместо PHP?

Цитата:
Я открываю каждый раз новые темы где ты засветиться успевашь и всюду у тебя два нарекания, это - использование шаблонизатора (т.к пхп сам шаблонизатор), а второе это использование MVC ( т.к он для веба как собаке пятая нога ) - Ниче личного, но мы уже поняли давно твою позицию.

Это не твоя тема и кто это такие "мы"? Клуб фанатов MVC и самопальных шаблонизаторов? ТС относится к "вам" али еще не заслужил? Если не относится то он еще не в курсе что фигней занимается.

(Отредактировано автором: 19 Января, 2012 - 14:25:24)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
DeepVarvar Супермодератор
Отправлено: 19 Января, 2012 - 14:26:04
Post Id



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


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


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




sKaa пишет:
...открыл шаблон через fopen, затем заменил... потом сохранил... потом открывал бы его уже через include... проверка на существование... заново "скомпилировать"... и сохранить.

Сколько, сколько обращений к диску, говоришь? Не понял
А еще бывает дисковая квота на хостингах...
 
 Top
sKaa
Отправлено: 19 Января, 2012 - 14:31:41
Post Id



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


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


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

[+]


Ну ты для начала всё продумай как у тебя, что работать будет.
fopen - открываешь, fread - считываешь всё ( переменные php $ не обработаются если использоваться fopen) и сохраняешь в переменную $file_content = fread(..), далее уже $file_content = str_replace($META_TAG_NAME // {CONTENT или что у тебя там}, тут опять контент нового файла или контент который должен будет заполнить, $file_content);
Самое разумное сделать класс Template и всё вышеописанное разбить на методы.

Далее когда у тебя все твои мета тэги заменил str_repalce полученную переменную просто сохранить в какой нибудь файл fwrite('/cache/' . md5($page_name) . '.tmp', $file_content);

А далее в самом начале загрузки шаблона, чтоб каждый раз не "компилировать" его таким образом сделай проверку, есть ли нужный файл в папке кеша, если есть то открывай из кэша, если нет компилируй и сохраняй.
 
 Top
DeepVarvar Супермодератор
Отправлено: 19 Января, 2012 - 14:35:37
Post Id



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


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


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




 
 Top
sKaa
Отправлено: 19 Января, 2012 - 14:40:57
Post Id



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


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


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

[+]


caballero пишет:
кто это такие "мы"?

Мы - это мы все тут ))) Да я бухой, братан, без обид давай. Я просто высказал, то, что заметил. Я не хотел обидеть.
Ты просто реально слишком часто отзываешься на такие темы постами в которых мысли кроме как: "MVC - вата, шаблоны - дно" по сути нету.
(Добавление)
DeepVarvar пишет:
Сколько, сколько обращений к диску, говоришь? Не понял
А еще бывает дисковая квота на хостингах...


fopen
fread - раз,
fwrite - два.

Дальше уже готовая страница будет загружаться из папки с кешем и fopen and fwrite не сработают.
extract(array(...));
include_('cache/' . md5($filename) . '.tmp');
 
 Top
caballero
Отправлено: 19 Января, 2012 - 14:53:53
Post Id


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


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


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




Цитата:
Ты просто реально слишком часто отзываешься на такие темы постами в которых мысли кроме как: "MVC - вата, шаблоны - дно" по сути нету.

Мысль есть всегда (твоя проблемм что ты не вьезжаешь) вместо MVC - компонентный подход, вместо птичьего языка в самопальном шаблонизоторе - старый добрый PHP. Так что никаких обид - чисто бизнес, то есть нормальное програмирование без изврата. Подумай когда/если протрезвеешь над тем почему с завидной постоянностью появляются посты где человек не может понять как сделать шаблонизатор или разобратся в MVC на что появляется стопицот ответов противоречащих друг другу.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
sKaa
Отправлено: 19 Января, 2012 - 14:58:18
Post Id



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


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


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

[+]


MVC имеет право на существование. Это 100 процентов. Или зачем программисты которые писали большенство фреймворков(kohana(hmvc помойму с 3 версии), ci, zend .. ) включили возможность создания приложения с использованием MVC в свои творения??? Или для тебя эти люди не авторитет?
 
 Top
caballero
Отправлено: 19 Января, 2012 - 15:24:23
Post Id


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


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


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




Цитата:
Или для тебя эти люди не авторитет?

очень часто проектами рулят кабинетные теоретики далекие от реального программирования. Или талантливые програмисты но с тараканами в голове.
Посмотри на тот же зенд - это же монстр явно писаный индусами из которого безболезненно можно выкинуть треть кода.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
sKaa
Отправлено: 19 Января, 2012 - 16:20:42
Post Id



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


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


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

[+]


Кто там чем управляет это не суть. - У меня есть аргументы : Например, если бы паттерн MVC, был действительно такой ммм слово не могу подобрать, ужасный? Раз МВЦ такой ужасный почему его используют многие программисты (в вебе), давно уже выявлены все минусы этого паттерна, поэтому появился HMVC, но в списке этих минусов, про пятую ногу собаки как вы выразились однажды нет не слова. Это скорей тема холиварная и каждый останется при своем мнении. Я просто серьезно думаю, что вы вряд ли умнее всех этих людей которые разработали огромное количество гигантских ресурсов в вебе используя MVC.
Ну с шаблонизаторами абсолютна та-же песня. Это просто способ хранить HTML код отдельно, а логику отдельно, поэтому есть шаблоны и шаблонизаторы. Говорить что вариант неприемлем топиккастеру не самая лучшая идея. Он задает конкретный вопрос : "Как написать?", а не просит вас высказать ваше мнение о всей этой затее и о том что пхп сам по себе шаблонизатор. Я считаю, что шаблоны тоже имеют право на существование, они так-же есть в зенде и других фрейворках, наверное во всех CMS, а вы тут заявляете буквально, что все те люди которые используют шаблонизаторы умственно отсталые и у них, я цитирую : "птичий язык" и в добавок ко всему это программирование с извращением. Ах, если бы только было в моих силах устроить вам очную ставку с разработчиками Zend и остальных фреймворков с MVC чтобы вы с глазу на глаз выяснили кто тут прав, а кто птичий язык и извращенец.
 
 Top
caballero
Отправлено: 19 Января, 2012 - 18:06:01
Post Id


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


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


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




Цитата:
Он задает конкретный вопрос : "Как написать?"

Вот я конкретно и говорю - используй PHP

Цитата:
и у них, я цитирую : "птичий язык"

птичий язык не у них а у шаблонов {if} {else} и т.д.

Цитата:
же есть в зенде и других фрейворках, наверное во всех CMS

Далеко не во всех и в зенде в том числе - там шаблонизатор с нативным синтаксисом. Не кажется противоречивым - умные ребята взявшие MVC почему то не используют шаблонизаторы с "птичьим" синтаксисом. Одно из двух любо ребята умные только наполовину либо шаблонизаторы не на синтаксисе PHP - не очень умная идея.
Да и MVC далеко не везде - тот же Друпал и Yii - под общую идею MVC они конечно подпадают а под паттерн MVC (а ля Зенд и причие) - ужде не очень.


Цитата:
что вы вряд ли умнее всех этих людей которые разработали огромное количество гигантских ресурсов в вебе используя MVC

Большинство этих сайтов написано на готовых фреймворках и разработчик уже не решает какая там архитектура. И ум тут вообще не причем- хотите MVC нате вам MVC фреймворк. А почему мы хотим MVC потому что барышня - эйчер в распальцованной конторе написала так в требовании на вакансию. А почему так написала потому что посмотрела в википедии какие есть модные технологии. И тупо перечислила MVC, шаблонизаторы, Ajax, Node.js и т.д.

Еще раз - посмотри на количство постов (включая этот) в разных форумах запостеных новичками (и не только) посвященнызх непониманию MVC и шаблонов. Это говорит о том что идеи не являются логичными и естественными для понимания.
и сравни например с вопросами по ООП. Тоже человек может не понимать. Но если во втором случае ответы практически совпадают (потому как понятно что это и за чем) то в первом случае - кто в лес кто по дрова.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Самогонщик
Отправлено: 19 Января, 2012 - 18:24:53
Post Id



Посетитель


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


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




caballero пишет:
Это говорит о том что идеи не являются логичными и естественными для понимания.
Да ни о чём это не говорит, кроме того, что МВС может иметь различные реализации.

caballero, зачем такой лютый оффтоп?
 
 Top
sKaa
Отправлено: 19 Января, 2012 - 20:49:34
Post Id



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


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


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

[+]


caballero пишет:
то в первом случае - кто в лес кто по дрова.

Это всего лишь результат непонимания принципов паттерна. Кол-во таких постов такое-же как и кол-во любых других вопросов. Если так разбираться то в пхп многое реализовано тоже совсем не логично, потому-что разные расширения писали разные "конторы". В основном это заметно в стандартных функциях, взять обработку строк : где-то есть приставка str_, где-то просто str, а где-то и вовсе нету ничего. Пхп по сравнению с другими языками по своему показывает какие-то ключевые моменты, в том числе и ООП.
Ты вообще даже не пытаешь парировать, точней пытаешься только переводя темы в сторону заказчиков, разработчиков которые не виноваты, что юзают MVC т.к он в подарок от фреймворка достался. Просто попытайся уже признать, что MVC и шаблонизаторы имеют право на существование и мы закончим этот безсмысленный спор. Пофигу какие шаблонизаторы, с каким-то своим синтаксисом или тупо extract + include. Это не суть.
У меня начинает складываться впечатление, что ты просто тупо не хочешь принять, то, что MVC достаточно неплохой паттерн, но вот за, что ты его так ненавидишь я понять пока не могу.
 
 Top
Страниц (3): « 1 [2] 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« CMS и фреймворки »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB