Помощник
|
Передача фрагментов кода или просто переменных |
oboroten_hb
|
Сообщение
#1
|
||
|
|
||
|
|||
Webmaster_hb |
23.1.2010, 11:41;
Ответить: Webmaster_hb
Сообщение
#2
|
|
oboroten, а в чем проблема прочитать ваш файл в текстовую переменную, и потом ее выполнить как кусок кода ?
но на самом деле, я думаю не стоит изобретать велосипеды, если нет оочень специфической задачи попробуйте старые, проверенные шаблонизаторы например, Smarty ^_^ |
|
|
NoDrum |
23.1.2010, 11:58;
Ответить: NoDrum
Сообщение
#3
|
|
[PHP]class tpl {
var $content; function tpl($file) { $this->content = @file_get_contents($file); if (!$this->content) exit(); return; } function set($block, $value) { $this->content = str_replace($block, $value, $this->content); return; } function compile() { echo $this->content; return; } } [/PHP] Код не проверял, но по логике должен работать. [PHP]$tpl = new tpl('template/main.tpl'); $tpl->set('{time}', time()); $tpl->compile();[/PHP] |
|
|
oboroten_hb
|
Сообщение
#4
|
|
oboroten, а в чем проблема прочитать ваш файл в текстовую переменную, и потом ее выполнить как кусок кода ? но на самом деле, я думаю не стоит изобретать велосипеды, если нет оочень специфической задачи попробуйте старые, проверенные шаблонизаторы например, Smarty ^_^ Я собираюсь изобрести велосипед потому, что не один существующий на сегодня движок не устраивает потребности моего проекта, я хочу сделать такую вещь, чтобы php код обрабатывался в нутри сервера и выводя на экран чтобы небыло никаких переменных, а обычный хтмл код, это хначительно увеличит защиту сайта... |
|
|
oboroten_hb
|
Сообщение
#5
|
|
[PHP]class tpl { var $content; function tpl($file) { $this->content = @file_get_contents($file); if (!$this->content) exit(); return; } function set($block, $value) { $this->content = str_replace($block, $value, $this->content); return; } function compile() { echo $this->content; return; } } [/PHP] Код не проверял, но по логике должен работать. [PHP]$tpl = new tpl('template/main.tpl'); $tpl->set('{time}', time()); $tpl->compile();[/PHP] Сейчас всё проверим, если будут ошибки, попробуем исправить... О конечном результате отпишусь... |
|
|
oboroten_hb
|
Сообщение
#6
|
|
NoDrum, Спасибо огромное!
Всё супер работает!!!:P Только не сможешь ещё сделать подробное описание кода? Если нет, то сам поковыряюсь в интернете и разберусь...B) |
|
|
oboroten_hb
|
Сообщение
#7
|
|
Всё я нашёл подробное описание... :evrika:
Если кому ye'yj это описание, то вы можете почитать его тут |
|
|
oboroten_hb
|
Сообщение
#8
|
|
Теперь у меня возник новый вопрос!
Допустим я имею следующий код: [PHP]<? $go=$_GET['go']; if (isset($go)){ include($go.".php"); }else{ include("news.php"); } ?>[/PHP] Как сделать чтобы на подгружаемой странице он вызывался командой: {content} |
|
|
Licoric |
24.1.2010, 17:51;
Ответить: Licoric
Сообщение
#9
|
|
Это, если я не ошибаюсь, "пользовательские функции".
|
|
|
NoDrum |
24.1.2010, 19:49;
Ответить: NoDrum
Сообщение
#10
|
|
У тебя происходит вывод данных (echo) в подключаемых файлах, например news.php?
Класс я написал сам, чтобы показать логику шаблонов. Приведу пример работы с ним: Шаблон post.tpl для вывода новости: <div> <h1>{title}</h1> {content} </div> Т.е. нам надо вставить заголовок ({title}) и содержимое ({content}) новости. Делаем это так: [PHP]// Получем новость из БД в массив $post... $tpl = new tpl('post.tpl'); $tpl->set('{title}', $post['title']); $tpl->set('{content}', $post['content']); $tpl->compile();[/PHP] Надеюсь стало понятнее. Формирование страницы, кстати, можно делать не из одного шаблона. |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Создать видеоканал лучше в ютуб или телеграм? | 20 | uahomka | 3527 | 20.4.2024, 20:56 автор: Vmir |
|
Если статья не в индексе Google - она уникальна или нет? | 5 | uahomka | 1440 | 3.4.2024, 23:56 автор: Liudmila |
|
Где больше пробив на кликандер или попандер или попап трафике? | 1 | Boymaster | 680 | 20.3.2024, 9:50 автор: Skyworker |
|
Выполню качественную верстку макетов или разработка собственного, быстро и не дорого от 45$ |
123 | webche | 117232 | 17.3.2024, 7:09 автор: webche |
|
От какого экрана будут меньше уставать глаза OLED или IPS? | 3 | metvekot | 1035 | 12.3.2024, 16:25 автор: MisterBit |
Текстовая версия | Сейчас: 23.4.2024, 19:49 |