Класс Controller
Класс контроллера приложения для организации бизнес-логики. Предоставляет базовые функции, такие как отображение представлений внутри макетов, автоматическое доступность моделей, перенаправление, обратные вызовы и многое другое.
Контроллеры должны предоставлять ряд методов «действия». Это публичные методы контроллера, которые не наследуются от Controller. Каждое действие служит конечной точкой для выполнения определенного действия над ресурсом или набором ресурсов. Например, добавление или редактирование нового объекта или перечисление набора объектов.
Вы можете получить доступ к параметрам запроса, используя $this->request. Объект запроса содержит все POST, GET и FILES, которые были частью запроса.
После выполнения необходимого действия контроллеры отвечают за создание ответа. Обычно это принимает форму сгенерированного View, или, возможно, перенаправления на другой URL. В любом случае $this->response позволяет вам манипулировать всеми аспектами ответа.
Контроллеры создаются Dispatcher на основе параметров запроса и маршрутизации. По умолчанию контроллеры и действия используют стандартные имена. Например, /posts/index отображается на PostsController::index(). Вы можете переопределить URL-адреса, используя Router::connect() или RouterBuilder::connect().
Обратные вызовы жизненного цикла
CakePHP вызывает ряд обратных вызовов жизненного цикла во время каждого запроса. Реализуя метод, вы можете получить соответствующие события. Доступные обратные вызовы:
-
beforeFilter(Event $event)Вызывается перед каждым действием. Это хорошее место для выполнения общей логики, которая применима ко всем действиям. -
beforeRender(Event $event)Вызывается перед рендерингом представления. -
beforeRedirect(Event $event, $url, Response $response)Вызывается перед выполнением перенаправления. -
afterFilter(Event $event)Вызывается после завершения каждого действия и после рендеринга представления.
- Cake\Controller\Controller реализует Cake\Event\EventListenerInterface, Cake\Event\EventDispatcherInterface использует Cake\Event\EventDispatcherTrait , Cake\ORM\Locator\LocatorAwareTrait , Cake\Log\LogTrait , Cake\Utility\MergeVariablesTrait , Cake\Datasource\ModelAwareTrait , Cake\Routing\RequestActionTrait , Cake\View\ViewVarsTrait
Непосредственные подклассы
Ссылка: https://book.cakephp.org/3.0/en/controllers.html
Расположение: Controller/Controller.php
Краткое описание свойств
-
$ViewpublicЭкземпляр представления, созданного во время рендеринга. Не будет установлен до вызова Controller::render().
- Экземпляр ComponentRegistry, используемый для создания компонентов
$_componentsprotected -
$_responseClassprotectedИмя класса для создания объекта ответа.string -
$_validViewOptionsprotectedЭти свойства контроллера будут переданы из контроллера в представление в качестве опций.array -
$autoRenderpublicbooleanУстановить в значение true, чтобы автоматически отобразить представление после логики действия.
-
$componentspublicarrayМассив, содержащий имена компонентов, используемых этим контроллером. Имена компонентов не должны содержать часть «Component» имени класса.
-
$helperspublicarrayМассив, содержащий имена хелперов, используемых этим контроллером. Элементы массива не должны содержать часть «Helper» имени класса.
-
$namepublicИмя этого контроллера. Имена контроллеров множественного числа, названные по модели, которую они обрабатывают.string -
$paginatepublicНастройки для пагинации.array -
$passedArgspublicСодержит все переданные параметры.array -
$pluginpublicАвтоматически устанавливается в имя плагина.string -
$requestpublicЭкземпляр объекта \Cake\Http\ServerRequest, содержащий информацию о текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для чтения дополнительной информации о запросе.
- Экземпляр объекта Response, содержащий информацию о предстоящем ответе
$responsepublic
Краткое описание магических свойств
-
$Authpublic -
$Cookiepublic -
$Csrfpublic -
$Flashpublic -
$Paginatorpublic -
$RequestHandlerpublic -
$Securitypublic
Краткое описание унаследованных магических свойств
Краткое описание унаследованных свойств
-
_eventClass,_eventManager_tableLocator_modelFactories,_modelType,modelClass_viewBuilder,viewClass,viewVars
Краткое описание методов
- __construct() publicКонструктор.
- __get() publicМагический аксессор для автозагрузки моделей.
- __set() publicМагический сеттер для удалённых свойств.
- _loadComponents() protectedЗагружает определённые компоненты с помощью фабрики компонентов.
- _mergeControllerVars() protected
Объединяет компоненты, переменные хелперов из родительских классов.
- _viewPath() protectedПолучить viewPath на основе имени контроллера и префикса запроса.
- afterFilter() publicВызывается после выполнения и отрисовки действия контроллера.
- beforeFilter() public
Вызывается перед действием контроллера. Вы можете использовать этот метод для настройки и настройки компонентов или выполнения логики, которая должна выполняться перед каждым действием контроллера.
- beforeRedirect() public
Метод beforeRedirect вызывается, когда вызывается метод перенаправления контроллера, но перед любыми дальнейшими действиями.
- beforeRender() public
Вызывается после выполнения действия контроллера, но перед отрисовкой представления. Вы можете использовать этот метод для выполнения логики или установки переменных представления, которые необходимы для каждого запроса.
- components() publicПолучить реестр компонентов для данного контроллера.
- implementedEvents() public
Возвращает список всех событий, которые будут срабатывать в контроллере во время его жизненного цикла. Вы можете переопределить эту функцию, чтобы добавить свои собственные обработчики событий
- initialize() publicМетод инициализации.
- invokeAction() public
Запускает действие контроллера. Проверяет, существует ли действие и не является ли оно закрытым.
- isAction() publicМетод для проверки того, доступно ли действие из URL.
- loadComponent() publicДобавить компонент в реестр контроллера.
- paginate() publicОбрабатывает пагинацию записей в объектах таблиц.
- redirect() publicПеренаправляет на заданный $url после отключения $this->autoRender.
- referer() publicВозвращает URL, сославшись на данный запрос.
- render() publicИнициализирует правильный класс представления, передает ему данные и использует его для отрисовки результата представления.
- setAction() publicВнутренне перенаправляет одно действие на другое. Не выполняет другой HTTP-запрос, в отличие от Controller::redirect()
- setRequest() public
Устанавливает объекты запроса и настраивает ряд свойств контроллера на основе содержимого запроса. Контроллер действует как прокси для некоторых переменных представления, которые также должны быть обновлены здесь. Свойства, которые устанавливаются:
- shutdownProcess() public
Выполняет различные процессы завершения для данного контроллера. Вызывает компоненты и обратные вызовы контроллера в правильном порядке.
- startupProcess() public
Выполняет начальный процесс для данного контроллера. Вызывает компоненты и обратные вызовы контроллера в правильном порядке.
Подробное описание методов
__construct()source public
__construct( Cake\Http\ServerRequest $request null , Cake\Http\Response $response null , string|null $name null , Cake\Event\EventManager|null $eventManager null , Cake\Controller\ComponentRegistry|null $components null )
Конструктор.
Устанавливает ряд свойств на основе соглашений, если они пустые. Чтобы переопределить соглашения, используемые CakePHP, вы можете определить свойства в объявлении своего класса.
Параметры
-
Cake\Http\ServerRequest$requestнеобязательно null Объект запроса для этого контроллера. Может быть равен null для тестирования, но ожидается, что функции, использующие параметры запроса, не будут работать.
-
Cake\Http\Response$responseнеобязательно null - Объект ответа для этого контроллера.
- строка|null
$nameнеобязательно null - Переопределить имя, полезно при тестировании с использованием моков.
-
Cake\Event\EventManager|null$eventManagerнеобязательно null - Менеджер событий. По умолчанию создаётся новый экземпляр.
-
Cake\Controller\ComponentRegistry|null$componentsнеобязательно null - Реестр компонентов. По умолчанию создаётся новый экземпляр.
__get()source public
__get( string $name )
Магический аксессор для автозагрузки моделей.
Параметры
- строка
$name - Имя свойства
Возвращает
boolean|objectЭкземпляр модели или false
__set()source public
__set( string $name , mixed $value )
Магический сеттер для удалённых свойств.
Параметры
- строка
$name - Имя свойства.
- смешанный
$value - Значение для установки.
_loadComponents()source protected
_loadComponents( )
Загружает определённые компоненты с помощью фабрики компонентов.
_mergeControllerVars()source protected
_mergeControllerVars( )
Объединяет компоненты, переменные хелперов из родительских классов.
_viewPath()source protected
_viewPath( )
Получить viewPath на основе имени контроллера и префикса запроса.
Возвращает
строкаafterFilter()source public
afterFilter( Cake\Event\Event $event )
Вызывается после выполнения и отрисовки действия контроллера.
Параметры
-
Cake\Event\Event$event - Экземпляр события
Возвращает
Cake\Http\Response|nullСсылка
https://book.cakephp.org/3.0/ru/controllers.html#request-life-cycle-callbacksbeforeFilter()source public
beforeFilter( Cake\Event\Event $event )
Вызывается перед действием контроллера. Вы можете использовать этот метод для настройки и настройки компонентов или выполнения логики, которая должна выполняться перед каждым действием контроллера.
Параметры
-
Cake\Event\Event$event - Экземпляр события
Возвращает
Cake\Http\Response|nullСсылка
https://book.cakephp.org/3.0/ru/controllers.html#request-life-cycle-callbacksbeforeRedirect()source public
beforeRedirect( Cake\Event\Event $event , string|array $url , Cake\Http\Response $response )
Метод beforeRedirect вызывается при вызове метода redirect контроллера, но до выполнения любых дальнейших действий.
Если событие остановлено, контроллер не будет продолжать перенаправлять запрос. Переменные $url и $status имеют то же значение, что и для метода контроллера. Вы можете установить результат события в экземпляр ответа или изменить местоположение перенаправления, используя экземпляр ответа контроллера.
Параметры
-
Cake\Event\Event$event - Экземпляр события
- строка|массив
$url Строковый или массивный URL, указывающий на другую локацию в приложении, или абсолютный URL
-
Cake\Http\Response$response - Объект ответа.
Возвращает
Cake\Http\Response|nullСсылка
https://book.cakephp.org/3.0/ru/controllers.html#request-life-cycle-callbacksbeforeRender()source public
beforeRender( Cake\Event\Event $event )
Вызывается после выполнения действия контроллера, но перед отображением представления. Вы можете использовать этот метод для выполнения логики или установки переменных представления, которые требуются при каждом запросе.
Параметры
-
Cake\Event\Event$event - Экземпляр события
Возвращает
Cake\Http\Response|nullСсылка
https://book.cakephp.org/3.0/ru/controllers.html#request-life-cycle-callbackscomponents()source public
components( Cake\Controller\ComponentRegistry|null $components null )
Получить реестр компонентов для этого контроллера.
Если вызов осуществляется с первым параметром, он будет установлен как свойство контроллера $this->_components
Параметры
-
Cake\Controller\ComponentRegistry|null$componentsoptional null - Реестр компонентов.
Возвращает
Cake\Controller\ComponentRegistryimplementedEvents()source public
implementedEvents( )
Возвращает список всех событий, которые будут срабатывать в контроллере в течение его жизненного цикла. Вы можете переопределить эту функцию, чтобы добавить свои собственные обработчики событий
Возвращает
массивРеализация
Cake\Event\EventListenerInterface::implementedEvents() initialize()source public
initialize( )
Метод инициализации.
Реализуйте этот метод, чтобы избежать необходимости переопределения конструктора и вызова родительского класса.
invokeAction()source public
invokeAction( )
Выполняет действие контроллера. Проверяет, что действие существует и не является закрытым.
Возвращает
смешанноеРезультат ответа.
Выбрасывает
LogicExceptionЕсли запрос не задан.
Cake\Controller\Exception\MissingActionExceptionЕсли действия не определены или недоступны.
isAction()source public
isAction( string $action )
Метод для проверки того, что действие доступно из URL.
Переопределите этот метод, чтобы изменить, какие методы контроллера могут быть достигнуты. По умолчанию доступ запрещен для всех методов, определенных в Cake\Controller\Controller, и разрешен для всех публичных методов всех подклассов этого класса.
Параметры
- строка
$action - Действие для проверки.
Возвращает
булевоДоступно ли этот метод из URL.
loadComponent()source public
loadComponent( string $name , array $config [] )
Добавить компонент в реестр контроллера.
Этот метод также установит компонент в свойство. Например:
$this->loadComponent('Acl.Acl'); Приведет к установке свойства Toolbar.
Параметры
- строка
$name - Имя компонента для загрузки.
- массив
$configoptional [] - Настройка компонента.
Возвращает
Cake\Controller\Componentpaginate()source public
paginate( Cake\ORM\Table|string|Cake\ORM\Query|null $object null , array $settings [] )
Обрабатывает постраничную навигацию записей в объектах Table.
Загрузит связанный объект Table и позволит компоненту PaginatorComponent постранично отобразить запросы с использованием данных запроса и настроек, определенных в $this->paginate.
Этот метод также сделает PaginatorHelper доступным в представлении.
Параметры
-
Cake\ORM\Table|строка|Cake\ORM\Query|null$objectoptional null Таблица для постраничной навигации (например: экземпляр таблицы, 'НазваниеТаблицы' или объект запроса)
- массив
$settingsoptional [] - Настройки/конфигурация, используемая для постраничной навигации.
Возвращает
Cake\ORM\ResultSetРезультаты запроса
Выбрасывает
RuntimeExceptionКогда нет совместимого объекта таблицы.
Ссылка
https://book.cakephp.org/3.0/ru/controllers.html#paginating-a-modelredirect()source public
redirect( string|array $url , integer $status 302 )
Перенаправляет на указанный $url, после отключения $this->autoRender.
Параметры
- строка|массив
$url Строковый или массивный URL, указывающий на другую локацию в приложении, или абсолютный URL
- целое число
$statusoptional 302 - Код HTTP-статуса (например: 301)
Возвращает
Cake\Http\Response|nullСсылка
https://book.cakephp.org/3.0/ru/controllers.html#Controller::redirectreferer()source public
referer( string|array|null $default null , boolean $local false )
Возвращает URL, ссылающийся на этот запрос.
Параметры
- строка|массив|null
$defaultoptional null - URL по умолчанию, если HTTP_REFERER не может быть прочитан из заголовков
- булево
$localoptional false - Если true, ограничивает ссылающиеся URL локальным сервером
Возвращает
строкаURL ссылки
render()source public
render( string|null $view null , string|null $layout null )
Создает правильный класс представления, передает ему данные и использует его для отображения выходных данных представления.
Параметры
- строка|null
$viewoptional null - Представление для отображения
- строка|null
$layoutoptional null - Макет для использования
Возвращает
Cake\Http\ResponseОбъект ответа, содержащий рендер представления.
Ссылка
https://book.cakephp.org/3.0/ru/controllers.html#rendering-a-viewsetAction()source public
setAction( string $action , ... $args )
Внутренне перенаправляет одно действие на другое. Не выполняет другой HTTP-запрос в отличие от Controller::redirect()
Примеры:
setAction('another_action');
setAction('action_with_parameters', $parameter1); Параметры
- строка
$action Новое действие, на которое происходит 'перенаправление'. Любые другие параметры, переданные в этот метод, будут переданы как параметры новому действию.
- ...
$args - $args Аргументы, передаваемые в действие
Возвращает
смешанноеВозвращает значение, возвращаемое вызванным действием
setRequest()source public
setRequest( Cake\Http\ServerRequest $request )
Устанавливает объекты запроса и настраивает ряд свойств контроллера на основе содержимого запроса. Контроллер выступает в качестве прокси для определённых переменных представления, которые также необходимо обновить здесь. Свойства, которые устанавливаются:
- $this->request - В параметр $request
- $this->plugin - В $request->params['plugin']
- $this->passedArgs - Одинаково с $request->params['pass]
- View::$plugin - $this->plugin
Параметры
-
Cake\Http\ServerRequest$request - Экземпляр запроса.
shutdownProcess()source public
shutdownProcess( )
Выполняет различные процессы завершения работы для данного контроллера. Вызывает компоненты и обратные вызовы контроллера в правильном порядке.
- вызывает обратный вызов компонента
shutdown. - вызывает метод контроллера
afterFilter.
Возвращает
Cake\Http\Response|nullstartupProcess()source public
startupProcess( )
Выполняет процесс запуска для этого контроллера. Вызывает компоненты и обратные вызовы контроллера в правильном порядке.
- Инициализирует компоненты, вызывая их обратный вызов
initialize - Вызывает метод контроллера
beforeFilter. - вызывает методы компонента
startup.
Возвращает
Cake\Http\Response|nullМетоды, используемые из Cake\Event\EventDispatcherTrait
dispatchEvent()source public
dispatchEvent( string $name , array|null $data null , object|null $subject null )
Обёртка для создания и отправки событий.
Возвращает обработанное событие.
Параметры
- строка
$name - Имя события.
- массив|null
$dataнеобязательно null Любое значение, которое вы хотите передать с этим событием, чтобы его могли прочитать слушатели.
- объект|null
$subjectнеобязательно null Объект, к которому относится это событие ($this по умолчанию).
Возвращает
Cake\Event\EventeventManager()source public
eventManager( Cake\Event\EventManager $eventManager null )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий объекта, или создавать собственные события и вызывать их по своему желанию.
Устарело
3.5.0 Используйте getEventManager()/setEventManager() вместо этого.Параметры
-
Cake\Event\EventManager$eventManagerнеобязательно null - менеджер событий для установки
Возвращает
Cake\Event\EventManagergetEventManager()source public
getEventManager( )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий объекта, или создавать собственные события и вызывать их по своему желанию.
Возвращает
Cake\Event\EventManagersetEventManager()source public
setEventManager( Cake\Event\EventManager $eventManager )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий объекта, или создавать собственные события и вызывать их по своему желанию.
Параметры
-
Cake\Event\EventManager$eventManager - менеджер событий для установки
Возвращает
$this
Методы, используемые из Cake\ORM\Locator\LocatorAwareTrait
getTableLocator()source public
getTableLocator( )
Возвращает локатор таблиц.
Возвращает
Cake\ORM\Locator\LocatorInterfacesetTableLocator()source public
setTableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator )
Устанавливает локатор таблиц.
Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocator - Экземпляр LocatorInterface.
Возвращает
$this
tableLocator()source public
tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator null )
Устанавливает локатор таблиц. Если параметры не переданы, возвращает текущий используемый локатор.
Устарело
3.5.0 Используйте getTableLocator()/setTableLocator() вместо этого.Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocatorнеобязательно null - Экземпляр LocatorInterface.
Возвращает
Cake\ORM\Locator\LocatorInterfaceМетоды, используемые из Cake\Log\LogTrait
log()source public
log( mixed $msg , integer|string $level LogLevel::ERROR , string|array $context [] )
Удобный метод для записи сообщения в журнал. См. Log::write() для получения дополнительной информации о записи в журналы.
Параметры
- смешанный
$msg - Сообщение журнала.
- целое число|строка
$levelнеобязательно LogLevel::ERROR - Уровень ошибки.
- строка|массив
$contextнеобязательно [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
booleanУспешность записи в журнал.
Методы, используемые из Cake\Utility\MergeVariablesTrait
_mergeProperty()source protected
_mergeProperty( string $property , array $parentClasses , array $options )
Объединение одного свойства со значениями, объявленными во всех родительских классах.
Параметры
- строка
$property - Имя объединяемого свойства.
- массив
$parentClasses - Массив классов, которые вы хотите объединить.
- массив
$options - Параметры для объединения свойства, см. _mergeVars()
_mergePropertyData()source protected
_mergePropertyData( array $current , array $parent , boolean $isAssoc )
Объединение каждого из ключей в свойстве.
Параметры
- массив
$current - Текущее объединённое значение.
- массив
$parent - Значение родительского класса.
- булево
$isAssoc - Указывает, нужно ли выполнять объединение в ассоциативном режиме.
Возвращает
смешанныйОбновлённое значение.
_mergeVars()source protected
_mergeVars( array $properties , array $options [] )
Объединение списка $properties со всеми родительскими классами текущего класса.
Параметры:
-
associative- Список свойств, которые должны обрабатываться как ассоциативные массивы. Свойства в этом списке будут переданы через Hash::normalize() перед объединением.
Параметры
- массив
$properties - Массив свойств и стратегии объединения для них.
- массив
$optionsнеобязательно [] - Параметры, которые нужно использовать при объединении свойств.
Методы, используемые из Cake\Datasource\ModelAwareTrait
_setModelClass()source protected
_setModelClass( string $name )
Устанавливает свойства modelClass и modelKey на основе соглашений.
Если свойства уже установлены, они не будут перезаписаны
Параметры
- строка
$name - Имя класса.
getModelType()source public
getModelType( )
Получить тип модели, который будет использоваться этим классом
Возвращает
stringloadModel()source public
loadModel( string|null $modelClass null , string|null $modelType null )
Загружает и создает объекты репозитория, необходимые для этого объекта
Обычно используется для загрузки объектов таблиц ORM по мере необходимости. Также может использоваться для загрузки других типов объектов репозитория, используемых вашим приложением.
Если поставщик репозитория не возвращает объект, будет выброшено исключение MissingModelException.
Параметры
- string|null
$modelClassнеобязательный null - Имя класса модели для загрузки. По умолчанию $this->modelClass
- string|null
$modelTypeнеобязательный null - Тип репозитория для загрузки. По умолчанию значение modelType().
Возвращает
Cake\Datasource\RepositoryInterfaceСозданный экземпляр модели.
Выбрасывает
Cake\Datasource\Exception\MissingModelExceptionЕсли класс модели не найден.
InvalidArgumentException
При использовании типа, который не был зарегистрирован.
UnexpectedValueException
Если тип модели не определен
modelFactory()source public
modelFactory( string $type , callable $factory )
Переопределить существующую вызываемую функцию для генерации репозиториев заданного типа.
Параметры
- string
$type - Имя типа репозитория, для которого предназначена функция фабрики.
- callable
$factory - Функция фабрики, используемая для создания экземпляров.
modelType()source public
modelType( string|null $modelType null )
Установить или получить тип модели, который будет использоваться этим классом
Устарело
3.5.0 Используйте getModelType()/setModelType() вместо этого.Параметры
- string|null
$modelTypeнеобязательный null - Тип модели или null для получения текущего
Возвращает
string|Cake\Datasource\ModelAwareTrait$this
setModelType()source public
setModelType( string $modelType )
Установить тип модели, который будет использоваться этим классом
Параметры
- string
$modelType - Тип модели
Возвращает
$this
Методы, используемые из Cake\Routing\RequestActionTrait
requestAction()source public
requestAction( string|array $url , array $extra [] )
Вызывает метод контроллера из любого места. Может использоваться для подключения контроллеров друг к другу или связывания плагинов с основным приложением. requestAction может использоваться для возврата рендеренных представлений или извлечения возвращаемого значения из действий контроллера.
Под капотом этот метод использует Router::reverse() для преобразования параметра $url в строковый URL. Вы должны использовать форматы URL, совместимые с Router::reverse()
Примеры
Базовый пример получения возвращаемого значения действия контроллера:
$variables = $this->requestAction('/articles/popular'); Базовый пример действия requestAction для получения рендеренной страницы без макета.
$viewHtml = $this->requestAction('/articles/popular', ['return']); Вы также можете передать URL как массив:
$vars = $this->requestAction(['controller' => 'articles', 'action' => 'popular']);
Передача других данных запроса
Вы можете передавать POST, GET, COOKIE и другие данные в запрос, используя соответствующие ключи. Куки могут передаваться с помощью ключа cookies. Параметры GET могут быть заданы с помощью query, а данные POST могут быть отправлены с помощью ключа post.
$vars = $this->requestAction('/articles/popular', [
'query' => ['page' => 1],
'cookies' => ['remember_me' => 1],
]); Отправка значений среды или заголовков
По умолчанию действия, вызываемые этим методом, будут использовать глобальные значения $_SERVER и $_ENV. Если вы хотите переопределить эти значения для действия запроса, вы можете указать значения:
$vars = $this->requestAction('/articles/popular', [
'environment' => ['CONTENT_TYPE' => 'application/json']
]); Передача сессии
По умолчанию действия, вызываемые этим методом, будут использовать стандартный объект сессии. Если вы хотите использовать конкретный экземпляр сессии, вам нужно указать его.
$vars = $this->requestAction('/articles/popular', [
'session' => new Session($someSessionConfig)
]); Устарело
3.3.0 Вы должны переработать свой код, чтобы использовать View Cells вместо этого метода.Параметры
- string|array
$url Строковый или массивный URL. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные аргументы в параметре $url.
- array
$extraнеобязательный [] Если массив содержит ключ "return", он устанавливает autoRender в true. Также может использоваться для отправки данных GET/POST и переданных аргументов.
Возвращает
mixedБулево значение true или false при успехе/неудаче, или содержимое рендеренного действия, если в $extra установлен ключ 'return'.
Методы, используемые из Cake\View\ViewVarsTrait
createView()source public
createView( string|null $viewClass null )
Создает экземпляр класса представления на основе текущей конфигурации.
Параметры
- string|null
$viewClassнеобязательный null - Необязательное имя пространственно-разделенного класса представления для инстанцирования.
Возвращает
Cake\View\ViewВыбрасывает
Cake\View\Exception\MissingViewExceptionЕсли класс представления не найден.
set()source public
set( string|array $name , mixed $value null )
Сохраняет переменную или ассоциативный массив переменных для использования внутри шаблона.
Параметры
- string|array
$name - Строка или массив данных.
- mixed
$valueнеобязательный null Значение в случае, если $name является строкой (которая затем работает как ключ). Не используется, если $name является ассоциативным массивом, в противном случае служит значениями для ключей $name.
Возвращает
$this
viewBuilder()source public
viewBuilder( )
Получить используемый билдер представлений.
Возвращает
Cake\View\ViewBuilderviewOptions()source public
viewOptions( string|array|null $options null , boolean $merge true )
Получить/установить допустимые параметры представления в свойстве _validViewOptions объекта. Свойство создается как пустой массив, если оно не задано. Если вызывается без параметров, то вернёт текущий список допустимых параметров представления. Смотрите createView().
Параметры
- string|array|null
$optionsнеобязательный null - строка или массив строк, которые будут добавлены в _validViewOptions.
- boolean
$mergeнеобязательный true Объединять или перезаписывать существующие допустимые параметры представления. По умолчанию
true.
Возвращает
arrayОбновленные параметры представления в виде массива.
Резюме магических методов
Магические методы, унаследованные от Cake\Event\EventDispatcherInterface
getEventManager() |
Подробное описание свойств
$Viewsource
public Cake\View\View
Экземпляр представления, созданный во время рендеринга. Не будет установлен до тех пор, пока не будет вызван Controller::render().
Устарело
3.1.0 Используйте viewBuilder() вместо этого.$_componentssource
protected Cake\Controller\ComponentRegistry
Экземпляр ComponentRegistry, используемый для создания компонентов
$_responseClasssource
protected string
Имя класса, используемого для создания объекта ответа.
'Cake\Http\Response'
$_validViewOptionssource
protected массив
Эти свойства контроллера будут переданы из контроллера в представление в качестве параметров.
См.
Cake\View\View[
'passedArgs'
] $autoRendersource
public логическое значение
Установите в значение true, чтобы автоматически отобразить представление после обработки действия.
true
$componentssource
public массив
Массив, содержащий имена компонентов, используемых этим контроллером. Имена компонентов не должны содержать часть "Component" имени класса.
Пример:
public $components = ['RequestHandler', 'Acl'];
Ссылка
https://book.cakephp.org/3.0/ru/controllers/components.html[]
$helperssource
public массив
Массив, содержащий имена помощников, используемых этим контроллером. Элементы массива не должны содержать часть "Helper" имени класса.
Пример:
public $helpers = ['Form', 'Html', 'Time'];
Ссылка
https://book.cakephp.org/3.0/ru/controllers.html#configuring-helpers-to-load[]
$namesource
public строка
Имя этого контроллера. Имена контроллеров множественного числа, названные в соответствии с моделью, которую они обрабатывают.
Автоматически устанавливается с помощью соглашений в Controller::__construct().
$paginatesource
public массив
Настройки для пагинации.
Используется для предварительной настройки параметров пагинации для различных таблиц, которые будет использовать пагинация в вашем контроллере.
См.
Cake\Controller\Component\PaginatorComponent[]
$passedArgssource
public массив
Содержит все переданные параметры.
Устарело
3.1.0 Используйте$this->request->getParam('pass') вместо этого.[]
$requestsource
public Cake\Http\ServerRequest
Экземпляр объекта \Cake\Http\ServerRequest, содержащий информацию о текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для чтения дополнительной информации о запросе.
Ссылка
https://book.cakephp.org/3.0/ru/controllers/request-response.html#request$responsesource
public Cake\Http\Response
Экземпляр объекта Response, содержащий информацию о предстоящем ответе
Ссылка
https://book.cakephp.org/3.0/ru/controllers/request-response.html#responseПодробное описание магических свойств
$Authsource
$Cookiesource
$Csrfsource
$Flashsource
$Paginatorsource
$RequestHandlersource
$Securitysource
© 2005–2017 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.4/class-Cake.Controller.Controller.html