Live Street - соображения по поводу роутинга в приложении
К хорошему привыкаешь быстро. Так и получилось с шаблонизатором Zend FW (Zend_View, Zend_Layout) и всевозможными ViewHelper`ами.
После прочтения вот этого поста: Убираем дублирование при добавлении роутинга, об использовании констант в шаблонах Live Street, понял что такая архитектура вьевера не удобна не только мне. Хочу поделиться своими соображениями на этот счет.
Автор статьи правильно заметил, что при добавлении нового роута приходиться дублировать информацию. Но, на самом деле здесь происходит более «серьезное» дублирование, чем копипаст из config/config.route.php в Viewer.class.php — мы дублируем функционал по составлению пути — один раз это делает программист, разрабатывая модуль, второй раз это делает верстальщик, когда делает шаблон. Большее неудобство не в том, как мы доставим константу во Viewer, а именно в том факте, что верстальщику этими константами нужно пользоваться.
Если нам вдруг понадобиться изменить принцип роутинга, то придется перелапачивать весь шаблон, исправляя ошибки адресов. Имхо, если Router, решает какой Action должен отработать, пусть сам нам скажет, как к этому Action нужно обратиться. Тогда необходимость в константах во Viewer`e вообще отпадет сама собой.
Для себя я решил проблему с помощью дополнительной функции в классе роутера и специально под это дела написаного Smarty-плагина. Подробнее об этом решении читайте здесь - “Убираем константы из шаблонов“.
А мораль из этого такова: Кто сеет - Тот и жнет. Иначе организационных проблем будет просто завал.
Спонсор поста:
“Экономная” мебель для офиса
Понравился пост? Будь в курсе последних событий: подпишись на RSS-ленту.!
- августа 10
- 2 комментария
