Идеальный шаблонизатор

Статус
В этой теме нельзя размещать новые ответы.

Dagdamor

Новичок
Bakti9rov
Такие разработки уже есть. И именно поэтому они не стали популярными - никто не хочет ставить на хостинг неизвестно что.

-~{}~ 14.10.07 14:49:

С.
А вот здесь ты дал маху. HTML в шаблоне должен оставаться HTML, а не становится еще одним phpBB-подобным уродцем.
Приведи свой вариант.
 

Bakti9rov

!*|=?
Dagdamor
Такие разработки уже есть. И именно поэтому они не стали популярными - никто не хочет ставить на хостинг неизвестно что.
Я в курсе.

не проще ли писать экстеншены для пхп, если такое недоверие? и такое недовольство положением вещей?
 

С.

Продвинутый новичок
Приведи свой вариант.
Естественно его у меня есть. Причем на родном PHP. Обратите внимание, что привязка <LABEL> тоже осуществляется.

PHP:
  <? form::begin('MyForm') ?>
  <form method=post>

    <? form::element('Element1') ?>
    <label>Label1:</label> <input type=text style="width:300px;">

    <? form::element('Element2') ?>
    <label>Label2:</label> <input type=checkbox value="yes">

    <? form::element('Element3',$selectionArray) ?>
    <label>Label3:</label> <select style="width:300px"></select>

    <? form::element('Element4') ?>
    <label>Label4:</label> <textarea style="width:300px;height:100px;"></textarea>

  </form>
  <? form::end() ?>
 

Dagdamor

Новичок
С.
Имхо, это уже выходит за рамки понятия "шаблонизатор". Человек без знания PHP сможет написать такую конструкцию?
Смотрится красиво, не спорю... хотелось бы глянуть на исходники.

UPD: И сразу же, типичная задача: как при помощи вашего способа сделать ввод даты рождения участника? Поле должно принимать и отдавать значение типа MySQL DATE, в браузере это должно выглядеть как 3 выпадающих списка.
 

pachanga

Новичок
Автор оригинала: С.
Естественно его у меня есть.
По сути, мой вариант делает примерно это же(т.е генерит похожий код), но только все прячет в макросах. Что читабельнее? ;)
 

Dagdamor

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

С.

Продвинутый новичок
И сразу же, типичная задача: как при помощи вашего способа сделать ввод даты
На примере ввода даты окончания карты. Года в примере генерятся динамически от -1 до +10 от текущего

PHP:
  <? form::date('CardExp','MY-1+10') ?>
  <label>Card Expired:</label> <select>=Month=</select><select>=Year=</select>
 

Bakti9rov

!*|=?
С.
>> Ничуть не менее странный и другой подход: "Чтоб как в Смарти, но быстрее".
>> по поводу скорости еще никто ничего не говорил. Ты первый это произнес. Не отвлекайся от темы.
Это я еще в начале понял ;) Почитай мой пост внимательно.

ты написал проект на таком шаблонизаторе, пытаешься отдать его заказчику, а он тебе говорит "а у меня хостинг на Агаве, что делать?"
Dagdamor
Да, согласен, увы, тут ничего не сделаешь.

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

С.

Продвинутый новичок
Человек без знания PHP сможет написать такую конструкцию?
Ты хочешь сказать, что если вместо <??> будет стоять {}, то проблем не возникнет?

-~{}~ 14.10.07 12:25:

Ухх... и что это такое, по-твоему? HTML?
Для тебя пусть будет:
<select></select><select></select>
В прошлом примере тебя это не смутило. или вот так для особо впечатлительных:
<select><option>=Month=</option></select><select><option>=Year=</option></select>
 

Dagdamor

Новичок
С.
Мне кажется, что да. Обучить дизайнера ограниченному набору макросов проще, чем рассказывать, что такое статический вызов метода в классе. Плюс, есть разница - сообщение "недопустимый макрос такой-то там-то" или "call to member function of a non-object". Зачем лишний раз пугать человека :)

Для тебя пусть будет:
<select></select><select></select>
В прошлом примере тебя это не смутило.
Такой вариант не пройдет. Здесь непонятно, какой список что отображает.
 

С.

Продвинутый новичок
Такой вариант не пройдет. Здесь непонятно, какой список что отображает.
См. <? form::date('CardExp','MY-1+10') ?>
Здесь 'MY' задает не только порядок, но и формат отображения.

-~{}~ 14.10.07 12:34:

Мне кажется, что да. Обучить дизайнера ограниченному набору макросов проще, чем рассказывать, что такое статический вызов метода в классе.
Назови методы макросами. Замени :: на _
Все, что душе угодно.

-~{}~ 14.10.07 12:41:

По сути, мой вариант делает примерно это же(т.е генерит похожий код), но только все прячет в макросах.
Да все генераторы и шаблонизаторы деалют примерно это же. Вопрос - как? Прятать HTML в макросы не надо, особенно ту ее часть, которую надо не прятать, а показывать.
 

baev

‹°°¬•
Команда форума
представь типичную ситуацию, ты написал проект на таком шаблонизаторе, пытаешься отдать его заказчику, а он тебе говорит "а у меня хостинг на Агаве, что делать?" действительно, что делать?
— биться головой об стену как можно сильнее, чтоб лучше запомнилось.
Тогда в следующие разы такая ситуация уже не будет «типичной».

(Мля. «Типичная» ситуация: написал сайт с базой данных, а у заказчика хостинг без БД...)

По поводу «идеального шаблонизатора»: мне до сих пор не до конца понятно, нафига нужны все эти «шаблонизаторы».
Пока единственное более-менее «вменяемое» объяснение: «верстальщики у нас ну та-а-акие тупые!..» Так для таких «тупых» давно существует тупое в лоб решение: поверх, например, того же Smarty пишется «рендер» — набор плагинов на «все случаи жизни»...
 

dark-demon

d(^-^)b
> Обратите внимание, что привязка <LABEL> тоже осуществляется.

<label> text <input name="foo" /> </label>

попробуй, может понравится ^_^
 

Dagdamor

Новичок
baev
Не поможет :) но если ты считаешь, что это решит проблему - на здоровье.

По поводу «идеального шаблонизатора»: мне до сих пор не до конца понятно, нафига нужны все эти «шаблонизаторы».
Мсье ни разу не пользовался шаблонизаторами и не понимает преимуществ от их использования?
 

dark-demon

d(^-^)b
вообще, на мой взгляд идеальный шаблонизатор - это XSLT с более дружелюбным синтаксисом и большей расширяемостью.
 

Dagdamor

Новичок
dark-demon
Для этого его придется основательно переделать... в том виде, как сейчас, XSLT пользоваться крайне неудобно, имхо.
 

Фанат

oncle terrible
Команда форума
baev
Не знаю, чем было вызвано твое замечание, но у меня есть объяснение.
Которое я, кстати, хотел предложить в качестве еще одного теста.

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

dark-demon

d(^-^)b
Dagdamor, достаточно реализовать возможность добавления своих тэгов и будет всё зашибись.
вот скажи, есть ли неудобства в xslt кроме длиннющих <t:apply-templates />
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху