Сообщение от B~Vladi
|
Как бы да, но проблем я тут почему-то не вижу. Можешь привести пример, где это вызвало бы проблемы/неудобства?
|
пример не могу. Просто на мой взгляд, ты переносишь слишком много обязанностей на шаблон, повышаешь
связанность. С точки зрения unit-тестирования это скорее всего тоже неудобно.
Сообщение от B~Vladi
|
Полностью согласен, блок не должен показываться, но я пока не знаю как это решить у меня. Но решать как-то надо. Будем думать.
|
Сообщение от B~Vladi
|
Решено.
|
как?
Сообщение от B~Vladi
|
Очень просто. Для пассивных шаблонов данные максимально соответствуют структуре представления. Если изменится view - нужно будет менять данные. Если будет несколько подобных view - либо для каждого агрегировать отдельный набор данных, либо использовать одни, но при этом может получится так, что для какого-то представления будут передаваться ненужные данные.
Ну и при поддержке нужно будет синхронизировать шаблон с логикой агрегации данных, а это лишний геморрой. Его не будет в активных шаблонах.
|
можно пример?
Сообщение от B~Vladi
|
На каком этапе(ах)?
|
ну например, приходит запрос. Он передается в сервис, а потом в экшн сервиса? Кто запускает рендеринг шаблона, сервис? Или экшен? Есть отличие между обработкой GET- и POST-запросов?
Сообщение от B~Vladi
|
Рядом можно посмотреть на примеры запросов данных, если интересно.
|
вот я и говорю, что ты переносишь часть кода в язык разметки. Т.е. код записывается отчасти с помощью языка разметки. А язык разметки неудобен для написания кода. И это не то же самое, что в php. В php код может быть внутри разметки.
Сообщение от B~Vladi
|
Согласен. У меня получится, что само получение данных инкапсулировано в коде, а из шаблона идет только вызов и обработка ответа. Получается всё на своих местах.
|
с некоторым перекосом в сторону активности шаблона
Сообщение от B~Vladi
|
Смотря как оно реализовано. Не могу представить такую ситуацию, может потому что у меня нет такого наследования, о котором ты говоришь.
|
да, потому что у тебя наследование недекларативное. Декларативность - проще и надежнее (сложнее сделать ошибку), но менее гибка, если это необходимо...
кстати, есть все-таки две вещи, которых немного не хватает в mustache...