![]() |
|
Модераторы: LSD |
![]()
|
|
| Nikitozz |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 19.9.2007 Где: Москва Репутация: нет Всего: 0 |
с помощью этих вставок (первый вариант) действительно сложнее создать по настоящему динамическую страницу...
|
|||
|
||||
| lukas |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: нет Всего: 15 |
Nikitozz, это происходит как раз тогда когда логика плохо отделена от верстки... в итоге на практике в начале мне тоже так казалось... но потом понимаешь все... и делаешь первым вариантом...
вот наглядный маленький пример...
а используем так:
или так...
Конешно и то и другое практически одно и тоже.. но в первом варианте мы можем получить текст... а во втором только напечатать... -------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
||||||||
|
|||||||||
| Sannis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 14.8.2007 Где: Москва Репутация: нет Всего: 13 |
Хм, в последних постах, которые про шаблонизаторы, немного скос не в нужную строну пошёл. Если говорить об удобстве вёрстки шаблонов, для верстальшика, а не программиста этой системы, то естесственно его нельзя застравлять писать шаблон с использованием echo, if(){} и т.д. Даже обсуждать нечего, просто спросите у них
Но это всё оффтоп, который даже косвенно не относится к теме P.S. А уход от heredoc в IPB, как мне видится, был связан не со скоростью, а с тем, что в шаблонах стало можно использовать логические выражения, вроде написанного мной выше. Что, кстати говоря, позволило из пункта 4 сделать пункт 3. Хотя не за горами IPB 3.x, в котором как раз реализован вариант 3. -------------------- |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 1 Всего: 32 |
Sannis, скос пошел только по одной причине - в любом мало-мальски серьёзном приложении ни о каком прямом выводе хтмл из скриптов речь не идет. То есть, первоначальный вопрос имеет весьма ограниченную область применения.
об этом и речь. никто про скорость не говорит. |
|||
|
||||
| Sannis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 14.8.2007 Где: Москва Репутация: нет Всего: 13 |
Да вроде Mal Hack говорил про скорость на первой странице
-------------------- |
|||
|
||||
| lukas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: нет Всего: 15 |
Sannis, хм... сейчас редко встретишь человека который только верстает... помоему хоть что-то из программирования верстальщик должен знать...
-------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 13 Всего: 43 |
Может хватит обсуждать абстрактные примеры? ))
Почему бы просто не писать нормально и использовать шаблонизатор(да или пхп в роли оного)? ) |
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: нет Всего: 73 |
PHP - по сути, и есть шаблонизатор Я советую PHP in HTML. Это сообщение отредактировал(а) IZ@TOP - 21.6.2008, 18:19 -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| Sannis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 14.8.2007 Где: Москва Репутация: нет Всего: 13 |
Одно дело "знает", другое дело удобство, скорость и стоимость разработки
-------------------- |
|||
|
||||
| lukas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: нет Всего: 15 |
ну например в Битриксе очень удобно сделали разделение логики и верстки..., и никакие шаблонизаторы не нужны, как сказал
IZ@TOP, шаблонизатором служит сам PHP... Технология приблизительно такая... Есть компоненты... у компонентов есть шаблоны... у одного компонента может быть сколько угодно шаблонов... вся функциональная часть реализована в тексте component.php, который подключается в каждый шаблон и создает различные массивы, которые и используются для построения шаблона... в итоге ты имеешь всю информацию что тебе нужна и делаешь с ней все что хочешь, при этом не видишь внутренний реализации... все шаблоны реализованы с помощью PHP in HTML, т.к. HTML in PHP при такой системе моразм... -------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Так и не понял в - чём различие?
Мне всегда трудо отделить html от php. Я всегда делаю один класс с общими элементами. Пользуюсь <?=$ ?> и всё собираю в буфер. Получается довольно удобно. Добавлено через 3 минуты Ах да! Самое главное-то забыл! Если использовать <?=$ ?> то можно полноценно пользоваться Zend-ом для вставки тегов и их свойств |
|||
|
||||
| nerezus |
|
||||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 13 Всего: 43 |
Но все же логику и представление как минимум обязательно разделить. Теперь юзаю смарти: верстальшику он понятнее, сам шаблоны не делаю )
|
||||
|
|||||
| Alix36 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 478 Регистрация: 6.11.2006 Репутация: нет Всего: 3 |
хм, раньше делал как в 1 варианте, потом стал путаться в коде....
2 вариант-крайне не удобен как программисту так и верстальщику(про тех кто не знает что такое "echo" даже и думать не приходится =( ) 3 heredoc , мне не нравится при верстке, птому что я использую дримвьюер, а он такой("$b = <<<HDOC") конструкции не понимает... 4) Однажды сел и написал библиотеку функций html тегов и элементов
.... некоторое время с ней работал. Потом одним дождливым вечером взял листок бумаги и написал 2 колонки. Минусы: 1)Верстальщик, не знающий что делает функция, не сможет что-либо править. 2)Нет увереснности что PHP есть разница моего варианта и второго варианта( echo '<form action="' . $url . '" method="get">';)А то и мое хуже, еще + лишний вызов функции... 3)Дримвьюер опять ничего не может. 4)Крайне ограниченный HTML, ибо не все параметры Тэгов входят в функциональность функции. Плюсы 1)Мне все понятно(Жалко что только мне....) 2)Весь документ в <?php ?> больше не придумал. .... И получилось, что heredoc, намного лучше, сейчас экспериментирую с ним. p/s Вопрос по теме. ВО многих CMS шаблоны отдельными файлами, блоки PHP "вставляются" в шаблоны на местах "{blog}", это общая методика, или создана для отдельно взятого проекта. Пример из PhpBB
Это сообщение отредактировал(а) Alix36 - 24.6.2008, 22:47 -------------------- Наши лица как дым, И никто не узнает как мы победим. (С)Пикник. |
||||
|
|||||
| Feldmarschall |
|
||||||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 1 Всего: 32 |
Чтобы не путаться коде в первом варианте, этого кода должно быть как можно меньше.
Основных типов шаблонов существует три. 1. Псевдошаблоны с блоками и выводом переменных.
2. XSLT
3. PHP
Как видно, разница между ними небольшая. Вероятность запутаться в коде - одинаковая. То есть, проблема не в способе шаблонизации, а в грамотности построения шаблона. Хередок в качестве шаблонизатора не используется практически нигде, поскольку в нем отсутствует даже примитивная логика, а только тупая вставка переменных. |
||||||
|
|||||||
![]()
|
| Правила ведения Религиозных войн | |
|
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Религиозные войны | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |