После прочтения вот этого поста:
Убираем дублирование при добавлении роутинга, понял что эта проблема волнует не только меня. Хочу поделиться своими соображениями на этот счет.
Linch правильно заметил, что при добавлении нового роута приходиться дублировать информацию. Но, на самом деле здесь происходит
более «серьезное» дублирование, чем копипаст из config/config.route.php в Viewer.class.php — мы дублируем функционал по составлению пути — один раз это делает программист, разрабатывая модуль, второй раз это делает верстальщик, когда делает шаблон. Большее неудобство не в том, как мы доставим константу во Viewer, а именно в том факте, что верстальщику этими константами нужно пользоваться.
Если нам вдруг понадобиться изменить принцип роутинга, то придется перелапачивать весь шаблон, исправляя ошибки адресов. Имхо, если Router, решает какой Action должен отработать, пусть сам нам скажет, как к этому Action нужно обратиться.
Тогда необходимость в константах во Viewer`e вообще отпадет сама собой.
Как этого добиться? Под катом 20 строчек кода.
Читать дальше →