Spec-Zone.ru › CakePHP 3.5

Класс 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

Прямые подклассы

  • Cake\Controller\ErrorController
Пространство имен: Cake\Controller
Ссылка: https://book.cakephp.org/3.0/ru/controllers.html
Расположение: Controller/Controller.php

Краткое описание свойств

  • $View public
    Cake\View\View

    Экземпляр представления, созданного во время отрисовки. Не будет установлен до вызова Controller::render().

  • $_components protected
    Cake\Controller\ComponentRegistry
    Экземпляр ComponentRegistry, используемый для создания компонентов
  • $_responseClass protected
    string
    Имя класса, используемого для создания объекта ответа.
  • $_validViewOptions protected
    array
    Эти свойства контроллера будут переданы из контроллера в представление в качестве опций.
  • $autoRender public
    boolean

    Установите в значение true, чтобы автоматически отобразить представление после логики действия.

  • $components public
    array

    Массив, содержащий имена компонентов, используемых этим контроллером. Имена компонентов не должны содержать части "Component" имени класса.

  • $helpers public
    array

    Массив, содержащий имена помошников, используемых этим контроллером. Элементы массива не должны содержать части "Helper" имени класса.

  • $name public
    string
    Имя этого контроллера. Имена контроллеров множественные, названные по модели, которую они обрабатывают.
  • $paginate public
    array
    Настройки для пагинации.
  • $passedArgs public
    array
    Содержит все переданные параметры.
  • $plugin public
    string|null
    Автоматически устанавливается в имя плагина.
  • $request public
    Cake\Http\ServerRequest|null

    Экземпляр объекта \Cake\Http\ServerRequest, который содержит информацию о текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для чтения дополнительной информации о запросе.

  • $response public
    Cake\Http\Response|null
    Экземпляр объекта Response, который содержит информацию о предстоящем ответе

Краткое описание магических свойств

  • $Auth public
    Cake\Controller\Component\AuthComponent
  • $Cookie public
    Cake\Controller\Component\CookieComponent
  • $Csrf public
    Cake\Controller\Component\CsrfComponent
  • $Flash public
    Cake\Controller\Component\FlashComponent
  • $Paginator public
    Cake\Controller\Component\PaginatorComponent
  • $RequestHandler public
    Cake\Controller\Component\RequestHandlerComponent
  • $Security public
    Cake\Controller\Component\SecurityComponent

Краткое описание магических свойств, унаследованных из родительского класса

  • _validViewOptions

Краткое описание свойств, унаследованных из родительского класса

  • _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 на основе имени контроллера и префикса запроса.

Возвращает

string

afterFilter()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-callbacks

beforeFilter()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-callbacks
END_OF_DOCUMENT_MARKER

beforeRedirect()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-callbacks

beforeRender()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-callbacks

components()source public

components( Cake\Controller\ComponentRegistry|null $components null )

Получает реестр компонентов для этого контроллера.

Если вызывается с первым параметром, он будет установлен как свойство контроллера $this->_components

Параметры

Cake\Controller\ComponentRegistry|null $components optional null
Реестр компонентов.

Возвращает

Cake\Controller\ComponentRegistry

implementedEvents()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
Имя компонента для загрузки.
массив $config optional []
Настройка компонента.

Возвращает

Cake\Controller\Component

paginate()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 $object optional null

Таблица для пагинации (например: экземпляр Table, 'НазваниеТаблицы' или объект Query)

массив $settings optional []
Настройки/конфигурация, используемые для пагинации.

Возвращает

Cake\ORM\ResultSet|Cake\Datasource\ResultSetInterface
Результаты запроса

Выбрасывает

RuntimeException
Когда не найден совместимый объект таблицы.

Ссылка

https://book.cakephp.org/3.0/ru/controllers.html#paginating-a-model

redirect()source public

redirect( string|array $url , integer $status 302 )

Перенаправляет на указанный $url после отключения $this->autoRender.

Параметры

строка|массив $url

Строка или URL на основе массива, указывающий на другое местоположение внутри приложения, или абсолютный URL

целое число $status optional 302
Код HTTP-статуса (например: 301)

Возвращает

Cake\Http\Response|null

Ссылка

https://book.cakephp.org/3.0/ru/controllers.html#Controller::redirect

referer()source public

referer( string|array|null $default null , boolean $local false )

Возвращает URL ссылки, направившей запрос.

Параметры

строка|массив|null $default optional null
URL по умолчанию, если HTTP_REFERER не может быть прочитан из заголовков
булево $local optional false
Если true, ссылки, направившие запрос, ограничены локальным сервером

Возвращает

строка
URL ссылки, направившей запрос

render()source public

render( string|null $view null , string|null $layout null )

Создаёт правильный класс представления, передаёт ему данные и использует его для рендеринга выходных данных представления.

Параметры

строка|null $view optional null
Представление для рендеринга
строка|null $layout optional null
Макет для использования

Возвращает

Cake\Http\Response
Объект ответа, содержащий рендеренное представление.

Ссылка

https://book.cakephp.org/3.0/ru/controllers.html#rendering-a-view

setAction()source public

setAction( string $action , ... $args )

Внутренне перенаправляет одно действие на другое. Не выполняет другой HTTP-запрос в отличие от Controller::redirect()

Примеры:

setAction('another_action');
setAction('action_with_parameters', $parameter1);

Параметры

строка $action

Новое действие, на которое выполняется 'перенаправление'. Любые другие параметры, переданные в этот метод, будут переданы как параметры новому действию.

... $args
$args Аргументы, передаваемые в действие

Возвращает

смешанный
Возвращает значение, возвращаемое вызванным действием
END_OF_DOCUMENT_MARKER

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|null

startupProcess()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\Event

eventManager()source public

eventManager( Cake\Event\EventManager $eventManager null )

Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.

Вы можете использовать этот экземпляр для регистрации любых новых слушателей или обратных вызовов для событий объекта, или создать свои собственные события и вызывать их по своему усмотрению.

Устарело

3.5.0 Используйте getEventManager()/setEventManager() вместо этого.

Параметры

Cake\Event\EventManager $eventManager необязательно null
eventManager для установки

Возвращает

Cake\Event\EventManager

getEventManager()source public

getEventManager( )

Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.

Вы можете использовать этот экземпляр для регистрации любых новых слушателей или обратных вызовов для событий объекта, или создать свои собственные события и вызывать их по своему усмотрению.

Возвращает

Cake\Event\EventManager

setEventManager()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\LocatorInterface

setTableLocator()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
Имя класса.
END_OF_DOCUMENT_MARKER

getModelType()source public

getModelType( )

Получить тип модели, используемой этим классом

Возвращает

string

loadModel()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\ViewBuilder

viewOptions()source public

viewOptions( string|array|null $options null , boolean $merge true )

Получить/установить допустимые опции представления в свойстве объекта _validViewOptions. Свойство создаётся как пустой массив, если оно не установлено. Если вызывается без параметров, возвращается текущий список допустимых опций представления. См. createView().

Параметры

string|array|null $options необязательно null
Строка или массив строк, которые нужно добавить в _validViewOptions.
boolean $merge необязательно true

Булево значение, указывающее, нужно ли слить или переопределить существующие допустимые опции представления. По умолчанию true.

Возвращает

array
Обновлённые опции представления в виде массива.

Резюме магических методов

isAuthorized()source public

isAuthorized( $user )

Параметры

$user

Возвращает

boolean

Магические методы, унаследованные от 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') вместо этого.
[]

$pluginsource

public строка|null

Автоматически устанавливается в имя плагина.

$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

public Cake\Controller\Component\AuthComponent

$Cookiesource

public Cake\Controller\Component\CookieComponent

$Csrfsource

public Cake\Controller\Component\CsrfComponent

$Flashsource

public Cake\Controller\Component\FlashComponent

$Paginatorsource

public Cake\Controller\Component\PaginatorComponent

$RequestHandlersource

public Cake\Controller\Component\RequestHandlerComponent

$Securitysource

public Cake\Controller\Component\SecurityComponent

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API