Пусть одна функция контроллера вызывает другую функцию контроллера в CakePHP 1.2
Как мне получить мой Search
контроллер с doSearch()
внутренняя функция для вызова getTitles()
функция в моем Titles
контроллер?
4 ответа
Короткий ответ: ты не должен этого делать. Вы должны перенести это в свою модель Title или, возможно, поместить в компонент или помощник для повторного использования.
Если вы уверены, что хотите вызвать контроллер напрямую, Cake предоставляет метод для этого
Нет причин переходить на другой контроллер.
Контроллер должен в основном вызывать методы из моделей. поэтому должна быть Модель Заголовка, которая содержит метод, который вам нужен.
Разместите свой код, если вам нужна дополнительная помощь.
Создание функциональности, в которой вы хотите повторно использовать компоненты, не всегда работает хорошо, как Cakephp, не вводит Models и find(), и устанавливает ->$this и т. Д. Еще один путь - сделать вашу базовую функциональность основной функцией, а затем вернуть $ результаты, назовите эту функцию как $results =$this->function_within_controller(); таким образом, вы можете повторно использовать функциональность таким образом. Я сталкиваюсь с множеством ошибок, когда иногда пытаюсь использовать компоненты, в Cakephp компоненты хороши для использования автономных скриптов php и кода.
Таким образом, ответ для дальнейшего использования:
$this->requestAction('/controller/action/params');