![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
chiffa |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: -1 Всего: -1 |
Всем добрый вечер. Пишу небольшой шаблонизатор. Столкнулся с проблемой. Как подключить к выводу скрипт из другого файла. тоест ьу меня есть 1.tpl
мини функция шаблонизатора
и сам код скрипта
При таком раскладе вставляется просто строка с именем файла, как вставить исполняемый код?... Заранее спасибо за помощь! ![]() |
||||||
|
|||||||
zibox86 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 11.12.2007 Репутация: нет Всего: 1 |
Инклюдить шаблон в кеш и потом заменить шаблонные переменные на реальные.
Что то типа:
Плюс в этом еще то что можно кеширование сделать |
|||
|
||||
chiffa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: -1 Всего: -1 |
спасибо за ответ! суть уловил, но принцип реализации не очень. можешь на конкретном примере? Если я раньше проинклудю шаблон и ниже вызову функцию то как он проведет замену?....
|
|||
|
||||
zibox86 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 11.12.2007 Репутация: нет Всего: 1 |
Ну тут же дело твоей фантазии!!
Пишешь функцию к примеру, а еще лучше класс.
|
|||
|
||||
SamDark |
|
|||
![]() Добрый кот ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1424 Регистрация: 25.7.2006 Где: Voronezh Репутация: 10 Всего: 38 |
-------------------- rmcreative.ru — Это жжж неспроста... yiiframework.ru — О фреймворке Yii на русском. reggi — здесь я регистрирую домены |
|||
|
||||
chiffa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: -1 Всего: -1 |
А такой вопрос по кешированию, немного для себя прояснить. насколько я понимаю принцип работы на стороне сервера следующая:
1. Заходит клиент 2. Сервер проверяет есть ли сохраненный кеш 3. Если есть то выдает сохраненную версию 4. Если нет, но сохраняет кеш Отсюдова возникает вопрос: если сохраненная версия кеша изменилась (допустим это магазин товаров и добавился новый товар) пользователь его получается не увидит? Или перед каждым выводом сравнивать устарел кеш или нет, тогда теряется весь смысл, ведь запрос к серваку и обработка ПХП будет все равно происходить.... или я что то неправильно понимаю? |
|||
|
||||
chiffa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: -1 Всего: -1 |
up
![]() |
|||
|
||||
chiffa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: -1 Всего: -1 |
С принципом создания шаблонизатора все понятно, суть проблемы в том что если я хочу вставить вместо тега подключить php-файл у меня вставляется путь к этому файлу, а нужно что бы он выполнялся и результат выводился вместо тега шаблонизатора
|
|||
|
||||
chiffa |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: -1 Всего: -1 |
Код вот:
вызов:
В свою очередь $inc='{reg}'; $put6='modules/user_mod/reg/index.php'; тоесть мне необходимо вместо тега шаблонизатора {reg} подключить файл пхп. При совершении выше описных действий выводится просто строка адреса modules/user_mod/reg/index.php и сам файл не подключается. |
||||
|
|||||
NewDima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 922 Регистрация: 20.2.2006 Где: <?here?> Репутация: 10 Всего: 12 |
Естественно, не подключится...
Самый простой способ будет записывайть полученный в результате парсинга контент в файл и включайть его инклудом, |
|||
|
||||
chiffa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: -1 Всего: -1 |
гм... а каким образом локально спарсить контент? не подскажешь?
|
|||
|
||||
NewDima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 922 Регистрация: 20.2.2006 Где: <?here?> Репутация: 10 Всего: 12 |
Нет, я что-то поторопился с ответом в предыдущий раз.
используй ob_start() и иже с ним |
|||
|
||||
chiffa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: -1 Всего: -1 |
тоесть так?
|
|||
|
||||
NewDima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 922 Регистрация: 20.2.2006 Где: <?here?> Репутация: 10 Всего: 12 |
chiffa, вы требуете слишком большой универсальности от метода mount_vars, но при этом он работает с одним простым синтаксисом
? Сначала ответьте, почему mount_vars должен вдруг вставлять контент из файла. Когда поймете, что ответа нет, разберитесь наконец с тем, что делает этот метод. Когда разберетесь с ним, либо расширите синтаксис метки, либо заведете новый метод, одно из двух. |
|||
|
||||
chiffa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: -1 Всего: -1 |
ага. суть я понял. обработчик нужно делать внутри вызываемого класса. Допустим я его инклудю:
$content=include ($put6); дальше заменяю, через реплейс подставляю $content, но дело в том что при выполнении $content=include ($put6); файл выводится, как "запретить" вывод?. весь код:
Это сообщение отредактировал(а) chiffa - 25.5.2010, 14:30 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |