Ваша карта сайта будет играть важную роль в этом вопросе.Но вместо этого вот несколько примеров.
Пример 1. Flat
/foo
/bar
/baz
Возможно, вы захотите использовать отдельные контроллеры: Foo / IndexController.php, Bar / IndexController.php и Baz / IndexController.php, каждый из которых имеет метод indexAction () для передачи информации в ваше представление (еще раз отдельно).
Пример 2. НемногоПонизить сейчас
/foo/bar
/baz
Вам понадобятся только два контроллера: Foo / BarController и Baz / IndexController.Если / foo требуется целевая страница, вы должны добавить Foo / IndexController.php, чтобы быть в безопасности.Ваши действия по-прежнему indexAction ().Поскольку вы недостаточно глубоко проникли на этот третий уровень, ваши представления по-прежнему остаются index.phtml.
Пример 3. Прямая линия
/foo/bar/baz
You 'Обратитесь к контроллеру onc: Foo / BarController.php.Если вам нужны целевые страницы для / foo и / foo / bar, вам понадобится другой контроллер для / foo (Foo / IndexController) и indexAction () для обоих.С / foo / bar / baz вы теперь фактически немного изменили действие - bazAction () (внутри Foo / BarController.php).Теперь ваш вид baz.phtml.
Сводка.
Чем шире карта сайта, тем больше у вас контроллеров и меньше действий.Чем более узкая карта сайта, тем меньше контроллеров и больше действий.
Postscript.
Следует также отметить, что это также зависит от использования шаблонов маршрутизации по умолчанию.Если вы делаете что-то более изощренное в шаблонах маршрутизации, все это вылетает в окно.Иногда мы используем маршруты, чтобы сохранить количество управляемых классов.Когда у нас широкая карта сайта, можно создать несколько пользовательских маршрутов и использовать __call () в контроллере для соответствующей передачи данных.Просто еще один способ снять кожу с этой кошки.