Класс 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/ru/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|null -
$requestpublicЭкземпляр объекта \Cake\Http\ServerRequest, который содержит информацию о текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для чтения дополнительной информации о запросе.
-
$responsepublicЭкземпляр объекта Response, который содержит информацию о предстоящем ответеCake\Http\Response|null
Краткое описание магических свойств
-
$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
Объединение компонентов, переменных helpers от родительских классов.
- _viewPath() protectedПолучить viewPath на основе имени контроллера и префикса запроса.
- afterFilter() publicВызывается после выполнения и рендеринга действия контроллера.
- beforeFilter() public
Вызывается перед действием контроллера. Вы можете использовать этот метод для настройки и настройки компонентов или выполнения логики, которая должна выполняться перед каждым действием контроллера.
- beforeRedirect() public
Метод beforeRedirect вызывается при вызове метода redirect контроллера, но перед любыми дальнейшими действиями.
- beforeRender() public
Вызывается после выполнения действия контроллера, но перед рендерингом представления. Вы можете использовать этот метод для выполнения логики или установки переменных представления, которые необходимы при каждом запросе.
- components() publicПолучить реестр компонентов для этого контроллера.
- implementedEvents() public
Возвращает список всех событий, которые будут срабатывать в контроллере в течение его жизненного цикла. Вы можете переопределить эту функцию, чтобы добавить свои собственные обработчики событий
- initialize() publicМетод инициализации.
- invokeAction() public
Запускает действие контроллера. Проверяет, что действие существует и не является закрытым.
- isAction() publicМетод для проверки доступности действия из URL.
- loadComponent() publicДобавить компонент в реестр контроллера.
- paginate() publicОбработка пагинации записей в объектах Table.
- 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 - Объект ответа для этого контроллера.
- string|null
$nameнеобязательно null - Переопределение имени, полезно при тестировании с использованием моков.
-
Cake\Event\EventManager|null$eventManagerнеобязательно null - Менеджер событий. По умолчанию — новый экземпляр.
-
Cake\Controller\ComponentRegistry|null$componentsнеобязательно null - Реестр компонентов. По умолчанию — новый экземпляр.
__get()source public
__get( string $name )
Магический аксессор для автозагрузки моделей.
Параметры
- string
$name - Имя свойства
Возвращает
boolean|objectЭкземпляр модели или false
__set()source public
__set( string $name , mixed $value )
Магический установщик для удалённых свойств.
Параметры
- string
$name - Имя свойства.
- mixed
$value - Значение для установки.
_loadComponents()source protected
_loadComponents( )
Загружает определённые компоненты с помощью фабрики компонентов.
_mergeControllerVars()source protected
_mergeControllerVars( )
Объединение компонентов, переменных helpers от родительских классов.
_viewPath()source protected
_viewPath( )
Получить viewPath на основе имени контроллера и префикса запроса.
Возвращает
stringafterFilter()source public
afterFilter( Cake\Event\Event $event )
Вызывается после выполнения и рендеринга действия контроллера.
Параметры
-
Cake\Event\Event$event - Экземпляр события
Возвращает
Cake\Http\Response|nullСсылка
https://book.cakephp.org/3.0/en/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/en/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 Таблица для пагинации (например: экземпляр Table, 'НазваниеТаблицы' или объект Query)
- массив
$settingsoptional [] - Настройки/конфигурация, используемые для пагинации.
Возвращает
Cake\ORM\ResultSet|Cake\Datasource\ResultSetInterfaceРезультаты запроса
Выбрасывает
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 ссылки, направившей запрос
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 - eventManager для установки
Возвращает
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 - 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 Table, как требуется. Также может использоваться для загрузки других типов объектов репозитория, используемых вашим приложением.
Если поставщик репозитория не возвращает объект, будет выброшено исключение 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. Если вы хотите переопределить эти значения для действия request action, вы можете указать значения:
$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 - Необязательное полное имя класса View для создания экземпляра.
Возвращает
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|null
Экземпляр объекта \Cake\Http\ServerRequest, содержащий информацию об текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для чтения дополнительной информации о запросе.
Ссылка
https://book.cakephp.org/3.0/ru/controllers/request-response.html#request$responsesource
public Cake\Http\Response|null
Экземпляр объекта Response, содержащий информацию о предстоящем ответе
Ссылка
https://book.cakephp.org/3.0/ru/controllers/request-response.html#responseПодробное описание магических свойств
$Authsource
$Cookiesource
$Csrfsource
$Flashsource
$Paginatorsource
$RequestHandlersource
$Securitysource
© 2005–2018 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.5/class-Cake.Controller.Controller.html