- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Ну да, нормальный вариант шаблонизации =) Если б еще шаблон в переменной стоял, ну чисто для удобочитаемости
В php можно делать вставки кода в разметку HTML:
Чем это удобно - можно делать циклы:
Здыхлик добавил 14.01.2009 в 14:16
Т.е. все, что вне пределов собственно php-инструкций (<?php код ?> или <? код ?>) выводится в браузер. Так удобно html-тэги сразу выкидывать пользователю, иногда подставляя какие-то значения на ходу.
Ничего личного, но так делают только мудаки =) Смешивать PHP и HTML код совершенно не приемлимо для более чем одноразового проекта. Если вам нужно какой то парсер один раз запустить - тут валяйте как хотите. Но в больших масштабах это моветон
Т.е. выводить HTML-шаблон через echo или print - это нормально? 0_o
Кстати, может быть подскажете, как вывести HTML совсем отдельно от php, не смешивая их?
Шаблонизаторы типа smarty можете не приводить, т.к. в них тоже присутствуют инородные элементы, просто это уже не php :)
А через что еще его выводить, если других функций в пхп для вывода нет. Это уж точно лучше и приятней для парсера чем выводить его вне скобок <? ?>
html-шаблоны должны лежать в отдельных файлах, или определяться переменными. И выводиться все это должно один раз, а все замены и подстановки делаются в переменной. а вот разбавлять одно другим - это очень и очень плохо.
А я разве говорил, что-то про объединение всего в один файл? :) Вроде нигде к базам не обращался, файлы не читал... Просто раскладывал готовые переменные в HTML-коде...
Представьте, что это шаблон. Или они должны как-то по-другому выглядеть?
PS. Вру, в одном месте есть у меня mysql_fetch_array(), но это был пример навскидку :) Естественно, все это должно быть подготовлено в контроллере и передано шаблону в виде переменной. Соответственно там будет foreach($data as $row). Никто MVC не отменял вроде
Здыхлик добавил 14.01.2009 в 15:00
А по поводу "лучше и приятнее" - откуда Вам-то знать? php изначально создавался как язык для тесной интеграции с html, хорошо это или плохо. Вывод огромного блока разметки через echo/print ИМХО еще больший моветон... Особенно когда захотите верстку менять.
А по поводу "лучше и приятнее" - откуда Вам-то знать? php изначально создавался как язык для тесной интеграции с html, хорошо это или плохо.
вот тут то вы и прокололись =) PHP это Hypertext Preprocessor по определению. Понимаете суть слова "ПРЕпроцессинг" ?
И подобный вариант его использования возможен стал только с появлением mod_php. Через CGI не получится разбавить HTML-страничку вставками до такой степени.
Менять верстку тем то и удобно когда весь шаблон в файлах лежит и нет ни тега внутри кода. Ну вы не спорьте, просто посмотрите на любую приличную CMS (битрикс я в этот список не включаю).
Мммм... Во-первых, как правило, шаблоны лежат в php-файлах :) По крайней мере в известных мне CMS.
Во-вторых, что значит "ни тэга внутри кода"? Как тогда php узнает, что куда впихнуть? :) Опять же, замену <?=$title?> на {TITLE} я избавлением от кода не считаю.
ЗЫ. Я не требую смешивать разметку и код, но как раз в шаблонах это и применимо.
здравствуйте приехали
<?=$title?> - код, который должен исполниться интерпретатором.
{TITLE} - не код. Текст. Если угодно, часть HTML-кода. Он может и не замениться вовсе. И обрабатывается интерпретатором совсем иначе. Точнее, обрабатывается вашим собственным кодом, что куда оптимальней, при условии что код не корявый. В этом то и суть MVC. Нет, конечно если у вас в шаблонах стоят вставки <?=$title?> которые прямо в таком виде заменяются preg_replaceом или str_replaceом, то претензий нет, это не код =)
Ну а php файлы в шаблонах CMSок как правило внутри то все равно без php. Вот смарти в этом смысле мне противен, но он компилирующий шаблонизатор - ему можно.
{TITLE} - Это псевдокод, но мне лично это без разницы, смешивание верстки и кода присутствует (особенно когда Вы начнете применять циклы).
Не вижу абсолютно никакого смысла в том, чтобы писать дополнительный парсер для шаблонов, если имеется native-возможность вывода шаблона с подстановкой переменных. В общем-то это холивар и он на нас с Вами не закончится :) Вообще не понимаю, с чего такое неприятие вывода HTML интерпретатором вне самого скрипта? Чем оно обосновано? Чем include() шаблона хуже, чем file_get_contents()+echo()?