Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Исполнение кода в шаблонах
 
 автор: Loki   (28.07.2005 в 19:33)   письмо автору
 
 

Сейчас организация следующая: текстовый файл считывается в переменную, затем, заменяются служебные теги на хтмл и содержимое переменной выводится в броузер. Но часто хочется вставть в текст какой-нибудь php код (при построении таблиц, меню и пр.). Естественно, в текстовом файле этот код не интерпретируется. А очень хочется! Как можно поступить в данном случае?

   
 
 автор: cheops   (28.07.2005 в 19:43)   письмо автору
 
   для: Loki   (28.07.2005 в 19:33)
 

А сами текстовые файлы файл на php читает?

   
 
 автор: Loki   (29.07.2005 в 00:24)   письмо автору
 
   для: cheops   (28.07.2005 в 19:43)
 

Работает это так:

<?
include "top.php";
$tmp=file($mfile[$r][$gl][$id]);
foreach (
$tmp as $file)
{
$file=str_replace(...); //тут последовательно заменяются шаблоны
 
print $file;
}
include 
"bot.php";
?>

Хотелось бы, чтобы в шаблоны можно было включать исполняемый код или ссылку на него... Наверное, можно схитрить, и вставить в текстовый файл имя функции, которое там находить с помощью регулярных выражений. Но самый ли это удачный вариант?

   
 
 автор: cheops   (29.07.2005 в 00:44)   письмо автору
 
   для: Loki   (29.07.2005 в 00:24)
 

>Но самый ли это удачный вариант?
Вариант с шаблонном хорош, если PHP-код будет убираться на одной строке... или действительно воспользоваться ссылками
[include]file.php[/include]

При разборе для этого шаблона вместо строки
<?php
  
print "file.php";
?>

писать
<?php
  
include "file.php";
?>


PS Хотя сложность проекта будет выше нормы, а читабельность кода пониженная, и как следствие, могут появляться трудноулавливаемые ошибки. Лучше всё-таки PHP как-нибудь вынести за пределы текстовых файлов.

   
 
 автор: Loki   (29.07.2005 в 00:54)   письмо автору
 
   для: cheops   (29.07.2005 в 00:44)
 

Просто то там, то тут проскакивают странички, с различными меню и прочей лабудой, которая все равно внесена в массив... вот и хочется их формировать автоматичкски. Только, я планировал не инклудить файл, а вызавать функцию из файла типа utils.php. Имеет ли мой вариант какие либо преимущества перед вашим?

   
 
 автор: cheops   (29.07.2005 в 00:57)   письмо автору
 
   для: Loki   (29.07.2005 в 00:54)
 

Так а utils.php всё-равно нужно как-то инклюдить...

   
 
 автор: Loki   (29.07.2005 в 10:09)   письмо автору
 
   для: cheops   (29.07.2005 в 00:57)
 

Похоже мы не понимаем друг друга:)
Наверное, я с шаблонами что-то не так замутил. на поверхности 2 варианта реализации: документ предвставляет собой файл, содержащий php код:

<?
echo $shapka// переменная определена в шаблонах, а тут только выводится на экран
echo "Тут идет текст, например, таблицы";
echo 
$nogi// эта переменная тоже из шаблонов
?>

при этом файл добавляется простым инклудом, но требуется не забыть везде проставить echo и теги <? ?>

И второй вариант (как сейчас сделано у меня):

{SHAPKA}
Тут идет текст, например, таблицы
{NOGI}

После чего текст читается в переменную, прогоняется через str_replace, где спец теги заменяются на значения шаблонов.

Вот и думаю: может перейти к первому варианту?

   
 
 автор: cheops   (29.07.2005 в 11:56)   письмо автору
 
   для: Loki   (29.07.2005 в 10:09)
 

Мне кажется (субъективно), что первый вариант нагляднее, особенно, если будет расширяться программная часть и потребуется отладка, второй варинат больше ориентирован на текст, когда важнее постоянная редакция текста и PHP-код только отвлекает от редакторской работы.

   
 
 автор: Loki   (29.07.2005 в 12:12)   письмо автору
 
   для: cheops   (29.07.2005 в 11:56)
 

ну чтож... пойдем по более наглядному пути:)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования