~Использование переменной в начале документа, а определение в конце.

0139

Guest
~Использование переменной в начале документа, а определение в конце.

Задача:

Вывести в сгенерированный PHP-скриптом HTML-код заголовок документа (т.е. «title»). Этот заголовок — переменная, но она определяется в середине документа (т.е. когда в зависимости от запроса берутся данные из БД).

Напр.:

PHP:
....
<title>$header</title>
....
....
....
....
$header = 'Документ номер двадцать четыре. Версия номер два. Дата изменения — двенадцатое...';
....
Ясно, что таким образом нельзя.

Итак:
Есть ли какое-либо решение этой задачи?
 

Georgy

Guest
а сформировать html на основе данных из БД никак? т.е. сначала получить данные, обработать, а затем собрать страницу.
 

Quidle

Полноценный новичок
Сделал все нужные действия.
На крайний случай забил их в переменные.
А затем выводи всю эту гадость на экран.
 

0139

Guest
Этот вариант ясен (сбор «html» после проведения всех операций). Но нет желания и времени перебирать весь код. Да и интересно было бы узнать решение сохранив мою схему (у меня строится шапка, меню, таблица и в «рабочем поле» выводятся данные, которые в этом же месте и берутся из БД).
Функции же можно использовать до того, как их определяешь и описываешь.
 

tony2001

TeaM PHPClub
0139:
нет желания - не делай.
никто упрашивать не будет.
так, как ты хочешь, без извратных решений через всем известное место не получится.
 

Фанат

oncle terrible
Команда форума
все вы знаете прекрасно варианты.
Это атпут буфферинг.
Это <title> засунуть в отдельный файл и подключать уже после того, как переменная будет известна.

А решение очень простое.
Не запихивать весь сайт в один файл.
 

tony2001

TeaM PHPClub
>все вы знаете прекрасно варианты.
>Это атпут буфферинг.
вот это и есть операция на глазу через задний проход.
 

0139

Guest
tony2001:

Я понимаю когда говорят: — Нет, так сделать нельзя.
И в ответ ничего невозможного не требую. Нельзя, так нельзя.

И, простите, сударь, без Вас понимаю, что меня никто упрашивать не будет... Нельзя, так нельзя.
 

tony2001

TeaM PHPClub
0193:
мне тоже непонятно, когда человек осознает, что сделал неправильно, но "нет желания и времени перебирать весь код".
вместо этого он хочет делать еще более неправильно.

я неправ?
 

0139

Guest
RE: Интересно было бы узнать решение сохранив мою схему.
 

Quidle

Полноценный новичок
Фанат его уже сказал, если я не ошибаюсь.
 

Oleg Marchuk

Человек
Вот где есть смысл использовать кеширование. Точнее -
PHP:
ob_start();
//Генерим документ. Вместо заголовка пишем что-то типа {title} важно, чтобы это "что-то типа" нигде больше в документе не встречалось в другом смысле, кроме заголовка документа
$html = ob_get_contents();
ob_end_clean();
//Теперь у нас есть документ с шаблоном заголовка
$html = preg_match('/{title}/', "Версия документа бла бла");
echo $html
 

Alien

Новичок
Oleg Marchuk - кеширование - это из совсем другой оперы. это называется output buffering и его справедливо назвали несколькими топиками выше как "операция на глазу через задний проход. "

0139 - в твоей постановке вопроса решения только 2:
через проход и шаблоны.
какой ты выбираешь?
 

Фанат

oncle terrible
Команда форума
Вы никто ничего не поняли.
Шаблоны тут вообще никаким боком.
Вопрос в структуре.
А уж что инклюдить - пых файл, или шаблон делать ради одной переменной - это уже дело 10.
 

fixxxer

К.О.
Партнер клуба
0139,
RE: Интересно было бы узнать решение сохранив мою схему.
Читать: интересно было бы узнать, как не переделывать то, что я сделал через ж*пу. А что переделывать, тебе сказали:

Не запихивать весь сайт в один файл.
 

0139

Guest
Сударь, почему Вы считаете что я сделал через жопу, а Вы и Ваш гений чудотворцы? (Это гражданину, у которого западает клавиша «X» на клавиатуре.)


Остальным спасибо за потраченое время и за данные советы. Воспользуюсь.
 

Фанат

oncle terrible
Команда форума
мне показалось, что он так считает потому, что те самые остальные, которых ты благодарищб за советы, написали, в принципе, то же самое :)
 
Сверху