Как правило, подключение URL-адресов к контроллерам является задачей маршрутов.Если ваша логика довольно сложна, и обычные маршруты ее не обрезают, вы даже можете написать свой собственный класс анализатора маршрутов, который выполняет более сложную логику (это все в руководстве).
Если эта логика маршрутизации включает запросы к базе данныхили любой другой вид логики контроллера и может привести к очень разным выводам для одного и того же URL-адреса в зависимости от некоторого внутреннего состояния, хотя вы создаете очень RESTless приложение, и я хотел бы представить, что вы должны переосмыслить то, что вы 'пытаюсь сделать.Сказав это, вы можете визуализировать любое представление из любого действия контроллера, используя $this->render()
.Логика контроллера для каждого представления может быть помещена в AppController или, возможно, (частично) в вызываемые модели из любого места.Таким образом, вместо «перенаправления» на другой контроллер маршрут просто перенаправляет на конкретное действие контроллера, как обычно, это действие динамически вызывает код, который ему нужно вызвать, и затем отображает представление, которое необходимо отрендерить.
Если вычтобы ваше приложение оставалось с тем же URL-адресом, но отображало совсем другое содержимое, вам, вероятно, следует также заняться созданием приложения AJAX.
Вероятно, подходящее для вас решение находится где-то посередине.