Spec-Zone.ru › CakePHP 3.4

Класс 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/en/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
    Автоматически устанавливается в имя плагина.
  • $request public
    Cake\Http\ServerRequest

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

  • $response public
    Cake\Http\Response
    Экземпляр объекта 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

    Объединяет компоненты, переменные хелперов из родительских классов.

  • _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-callbacks

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

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

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

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

Возвращает

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

Выбрасывает

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 локальным сервером

Возвращает

строка
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
менеджер событий для установки

Возвращает

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
менеджер событий для установки

Возвращает


$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 по мере необходимости. Также может использоваться для загрузки других типов объектов репозитория, используемых вашим приложением.

Если поставщик репозитория не возвращает объект, будет выброшено исключение 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\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'
END_OF_DOCUMENT_MARKER

$_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 строка

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

$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

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

Spec-Zone.ru

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