Совмещение php и html

V1
На сайте с 24.10.2012
Offline
64
#11
fordzon:
str_replace

Ну это по эффективности всё равно, что ездить по городу на 5-й передаче и думать, что сэкономишь тонны бензина. Эффект будет обратный.

<?=$var?> самый короткий и быстрый вариант при правильно настроенной буферизации. Проставь перед и после вызовом шаблона microtime(true); и посмотри сколько времени тратит на него пхп. Если десятки миллисекунд и больше, то скорее всего буфер просто выключен, в таком случае скрипт будет выполнятся пока html полностью не будет загружен браузером, съедая кучу ресурсов.

F
На сайте с 06.02.2012
Offline
124
#12
vyacheslav12:
Если десятки миллисекунд и больше, то скорее всего буфер просто выключен

А где он включается.. ежели что? Некоторые настройки сервера мне доступны, в тариф входит персональный веб-сервер с какими-то настройками.. я ими пока не пользовался.

---------- Добавлено 21.02.2015 в 23:02 ----------

У меня почему-то такое впечатление, прикручивая html-шаблоны к скрипту, мы получаем дополнительный наворот, но никак не экономим ресурс сервера. Тем более, необходимо формировать и передавать как-то в шаблон кучу переменных - это тоже дополнительная работа процессора. Куда проще вывести сразу из скрипта echo.

Если я сам и вебмастер и типа программист.. может и не стоит заморачиваться?

Тем более меня уже тут почти убедили, что лишний десяток <?php $var ?> в тексте не так уж и страшно.

V1
На сайте с 24.10.2012
Offline
64
#13

Для начала в .htaccess нужно прописать:

php_flag output_buffering On

Подробнее тут, например: http://habrahabr.ru/post/45016/

vob2014
На сайте с 30.03.2014
Offline
91
#14
Меня интересует, есть ли простой способ передачи переменных в файл html кроме <?php ?>.

есть вариация на эту тему, забыл как называется, там кусок html идет

прямо внутри кода пхп БЕЗ ECHO "****" и там соответсвенно вставка идет без <? ?> так это уже все как бы внутри. Читал на php.net - но урл и название раздела не припомню сейчас.

Я даже где-то у себя заюзал, помню еще год назад это была бесполезная примочка, но сейчас там появились вставки переменных прямо из пхп без <?php ?> и без echo и стало круче...

...
F
На сайте с 06.02.2012
Offline
124
#15

vob2014, да используется всё это в полный рост.

Например у меня форум стоит PHPbb, там переменные в шаблонах html в фигурных скобках. Из скриптов php они передаются в виде массивов. Технологию передачи я так и не понял. Скрипты написаны с применением ООП, для меня это тёмный лес.

А вообще не исключаю, что где нибудь в конструкторе класса прописана замена фигурных скобок типа '{' на '<?php' и '}' на '?>'

M
На сайте с 04.12.2013
Offline
223
#16
fordzon:

Далее хедер открытым кодом html со вставками для тайтла, кейворд и дискрипшн, заголовка страницы...
Потом опять php и получаю нужную инфу из базы.

Не, так делать не надо. Под php-вставками я прежде всего имел виду что-то вроде <?= $var ?>, хотя циклы/ветвления тоже бывают нужны, но уж точно не работа с базой. Выберите перед выводом контента все что нужно из базы, а потом выводите.

На данный момент мне хотелось бы попробовать использовать файлы, например, хотя бы два, типа header.html и content.html. Футер можно и к контенту приткнуть.

Меня интересует, есть ли простой способ передачи переменных в файл html кроме <?php ?>. Желательно без использования классов.

...

Хотелось бы запрос из php именно на content.html, посредством include или require_once...

Ну, у меня в движках на основе процедурного синтаксиса все примерно так и происходит. В основном шаблоне сайта обычно идет шапка, потом спец. код для включения статического контента или исполнения шаблона модуля, а потом подвал. Естественно, в шапке и в подвале тоже могут быть php-вставки, но обычно они представляют собой вывод значений переменных/выражений, не более.

---------- Добавлено 22.02.2015 в 01:05 ----------

Да, вывод основного шаблона часто обрамляю ob_start()/ob_end_flush(), но в принципе это не обязательно, т.к. при подобном выводе с базой уже не работаю, заголовки не отправляю. Основная причина использования этих функций – как раз центральный код шаблона для включения основного контента (часто это чтение, либо исполнение файла). Сейчас мы обычно используем такой код:


if ($r0['bits']&32) include(PATH.$r0['module'].'.php');
elseif (empty($content)) readfile(PATH.$px.'.txt');
else echo $content;
Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
vob2014
На сайте с 30.03.2014
Offline
91
#17

на счет пхп вставок, везет вам что у вас все работает, а у меня - часто хостинги попадаются где вставка не работает, например те что я пробовал недавно - хостингер, смартапе, купертино.ру (там хитро через цги врапер можно добится с помощью советов гуру т.к. тех поддержка утверждает что никак нельзя, но посмтоянно падает, при любой смена абсолютного пути и тд) Имхо на облачных и тем более не дадут... так что имхо надо ориентироватся на то что дает пхп 5, там блоки html можно внутри *.php и вставки переменных типа прямо вот так <img src= $x >

SONcemvo
На сайте с 06.09.2009
Offline
102
#18
fordzon:
vob2014, да используется всё это в полный рост.
Например у меня форум стоит PHPbb, там переменные в шаблонах html в фигурных скобках. Из скриптов php они передаются в виде массивов. Технологию передачи я так и не понял. Скрипты написаны с применением ООП, для меня это тёмный лес.

А вообще не исключаю, что где нибудь в конструкторе класса прописана замена фигурных скобок типа '{' на '<?php' и '}' на '?>'

там все работает также как и в смарти, у меня тоже пхпбб(старый). По сути шаблонихзатор там, это урезанный и модифицированый смарти в чистом виде.

F
На сайте с 06.02.2012
Offline
124
#19
miketomlin:
<?= $var ?>

Попробовал, в версии 5.3 у меня работает эта конструкция. Всегда пользовался <?php echo $var ?>. Олд скул...

Так я тоже именно про эти вставки.

Сначала скрипт с получением переменных для хедера, закрываю ?> и пишу код html хедера со вставками переменных.

А уж контент - как получится, по ситуации. Чаще получаю данные из БД в циклах while($data=mysql_fetch_array($result)) , нужны таблицы.. обработчик включен постоянно и выводит конструкциями echo сразу и переменные и код код html по ходу получения данных.

domen4you
На сайте с 08.03.2013
Offline
53
#20

fordzon, решаете глобальные вопросы, при этом используте расширение mysql? Вам еще оптимизировать и оптимизировать)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий