Обновить
19
0
Вячеслав Stac Мацнев@Stac

Пользователь

Отправить сообщение
Вы — учитель. Я лишь заметил странное несоответствие схемы и ее описания.
1. ок. Поэтому вопросу делаю для себя вывод: без шаблонизатора не обойтись, когда надо предоставить возможность создания/изменения шаблонов человеку со стороны (не разработчику) и особенно пользователю. В других случаях выбор использовать или не использовать шаблонизатор (а не сам PHP) это вопрос технических требований и личного вкуса разработчика.

2. Если я правильно понял, что такое layout (<html><head></head><body><header><div class="content"></div><footer></footer></body></html>), то я никак не ссылаюсь на него из шаблонов других блоков. Я придерживаюсь концепции независимых блоков.
1. Как это шаблон и вид могут знать о данных одинаково?
«Вид» это код, который пишите вы, шаблон — разметка, которую пишет верстальщик или пользователь. Вы сами говорили об этом выше. Я думаю, в таком случае, разработчик знает о данных не очень много.
1. Ваш изначальный посыл был в том, что все надо экранировать и запись {{var}} лучше, чем php-fаналог. Разве нет?
2. Я не делю основной layout и блоки, layout это просто блок «page», который включает в себя другие блоки (или не включает, если это не надо).
Разобрать uri не так и сложно, если заранее о его (или ее? мне нравится «она», правильнее, особенно по-английски — «он») структуре подумать.

list($empty, $db_name, $id) = explode("/",$uri);


Да и вообще сам uri может выступать идентификатором ресурсе в БД, XMLфайле или key-value хранилище.

Конечно, не всегда это может быт правильно или удобно.
1. Спорно. Во-первых htmlspecialchars($var, ENT_QUOTES, 'UTF-8'); можно сделать и так:
foreach ($data as $k=>$v)  $data[$k] = htmlspecialchars($v, ENT_QUOTES, 'UTF-8');

Одна строчка. И даже если она будет не в модели (хотя Ogra, похоже, с вами не согласен по этому поводу) по она может быть в методе, который рендерит шаблон.

Да и в модели она может быть. Модель не знает, как будут использованы данные. Но вы-то знаете :) Вызывайте метод типа getDataForHTML() или getDataForJSON().

2. Для меня удивительно нечитабельны оба ваших примера :).

У меня например, в шаблоне страницы может быть конструкция <?=show("some_block_template", $page);?>, которая значит, что надо в этом месте надо вставить шаблон некоего блока страницы. У каждого раздела сайта этот блок («заголовок, меню, строка поиска, whatever) может иметь разный шаблон. Если у данного раздела такой шаблон не определен используется базовый, если базового нет, то используется вшитый шаблон по-умолчанию (где просто написано, что шаблон такого-то блока для страницы не определен).

Я не уверен, что это то самое наследование шаблонов про которое вы говорите. Если что вы меня поправите.

3. Тут согласен. В описанной вами ситуации разумнее использовать сторонний шаблонизатор, а не php.

Тут вроде понятно… весь мой пример скрипта — контроллер.

Модель и представление, типа, определены в других файлах.

Насчет uri не совсем понятно. С учетом того, что Uri — universal resourse identifier, чем он хуже любого другого идентификатора?

Впрочем, я тоже не всегда использую uri, а извлекаю из него параметры. Но иногда (в удачный день :) получается использовать uri без дополнительной обработки.
Не очень понял.

1. Что за автоэкранирование и зачем? Если данные не готовы для вывода, разве «модель» не должна их подготовить? Или «модель представления»?

2. Видимо я не сталкивался еще с такой проблемой… С другой стороны реализация разве не зависит от вас?

3. А зачем специально изолировать шаблон? Это же ваша программа, просто не используйте там eval($_GET['expr']);.

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

Например, в HTML — будете бороться за отмену тега A или что-то боле полезное?
А понятно… я просто таких программ не видел. Что это например?

Я пользуюсь portable софтом в основном и редко когда что-то устанавливаю.

Хотя видел, что проги пытаются протащить за собой какую-то ерунду, но это что-то западной, Хром, Бинг,…
Спасибо, было интересно читать.

Что у вас за приложение? Что оно делает?

Работает ли оно у вас еще в в каких-то соцсетях, и если да, то как обстоит ело с использованием нескольких разных API?
Все верно. Это нужно для того, чтобы разрабатывать с использованием фреймворка.

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

Ведь где-то могут существовать переменные с такими же именами, как и ключи массива.
Пусть в примере их нет. Но в жизни бывает всякое. :)

PHP сам по себе чем плох в роли шаблонизатора?

Для каких задач нужно что-то еще?
А если очень интересно, то он посмотрит статус в самом клиенте (icq, skype, ...) :)
Не понял фишку про 5 минут.

Зачем зависимость от крона, разве нельзя определять статус на момент загрузки страницы?
Вроде можно.
Хотелось бы прочитать о том, чем Яндекс будет в W3C заниматься.

Да же так, без этой информации новость почти не имеет смысла.

И хоть Яндекс традиционно не раскрывает свои планы, в этом случае от подобных традиций стоит отойти. Потому что это может затронуть всех нас.

И как нам быть — поддерживать Яндекс или нет? Может вы там собрались хулиганить и творить хаос. :)

Вот это раздражение всеобщее мне, кстати, не понятно. Такое ощущение, что что-то пропустил.

На одном браузере я сознательно установил Бар, чтобы смотреть погоду, остаток на Я.Деньгах, курсы валют. На других я сознательно бар не ставил.

В какой момент у меня должно было бы возникнуть раздражение, Жень?

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность