Spec-Zone.ru › CakePHP 3.7

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

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

  • $components public
    array

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

  • $helpers public
    array

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

  • $name protected
    string
    Имя этого контроллера. Имена контроллеров множественные, названные по модели, которую они обрабатывают.
  • $paginate public
    array
    Настройки для постраничной навигации.
  • $passedArgs public
    array
    Содержит все переданные параметры.
  • $plugin protected
    string|null
    Автоматически устанавливается в имя плагина.
  • $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
    Получить путь к представлению на основе имени контроллера и префикса запроса.
  • afterFilter() public
    Вызывается после выполнения и отрисовки действия контроллера.
  • beforeFilter() public

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

  • beforeRedirect() public

    Метод beforeRedirect вызывается при вызове метода redirect контроллера, но перед любыми дальнейшими действиями.

  • beforeRender() public

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

  • components() public
    Получить реестр компонентов для этого контроллера.
  • disableAutoRender() public
    Отключить автоматическую отрисовку действия.
  • enableAutoRender() public
    Включить автоматическую отрисовку действия.
  • getName() public
    Возвращает имя контроллера.
  • getPlugin() public
    Возвращает имя плагина.
  • getRequest() public
    Получает экземпляр запроса.
  • getResponse() public
    Получает экземпляр ответа.
  • implementedEvents() public

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

  • initialize() public
    Метод инициализации.
  • invokeAction() public

    Диспетчирует действие контроллера. Проверяет, что действие существует и не является закрытым.

  • isAction() public
    Метод для проверки того, что действие доступно по URL.
  • isAutoRenderEnabled() public
    Возвращает true, если действие должно быть автоматически отрисовано.
  • loadComponent() public
    Добавить компонент в реестр контроллера.
  • paginate() public
    Обрабатывает пагинацию записей в объектах Table.
  • redirect() public
    Перенаправляет на заданный $url после отключения $this->autoRender.
  • referer() public
    Возвращает URL, с которого был сделан текущий запрос.
  • render() public
    Создаёт экземпляр соответствующего класса представления, передаёт ему данные и использует его для отрисовки вывода представления.
  • setAction() public
    Внутренне перенаправляет одно действие на другое. Не выполняет другой HTTP-запрос в отличие от Controller::redirect().
  • setName() public
    Устанавливает имя контроллера.
  • setPlugin() public
    Устанавливает имя плагина.
  • setRequest() public

    Устанавливает объекты запроса и настраивает ряд свойств контроллера на основе содержимого запроса. Контроллер действует как прокси для определённых переменных представления, которые также должны быть обновлены здесь. Свойства, которые устанавливаются:

  • setResponse() 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 optional null

Объект запроса для этого контроллера. Может быть null для тестирования, но ожидайте, что функции, использующие параметры запроса, не будут работать.

Cake\Http\Response $response optional null
Объект ответа для этого контроллера.
string|null $name optional null
Переопределить имя, полезно при тестировании с использованием эмуляций.
Cake\Event\EventManager|null $eventManager optional null
Менеджер событий. По умолчанию - новый экземпляр.
Cake\Controller\ComponentRegistry|null $components optional 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( )

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

_viewPath()source protected

_viewPath( )

Получить путь к представлению на основе имени контроллера и префикса запроса.

Возвращает

string
END_OF_DOCUMENT_MARKER

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
Экземпляр события
string|array $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 необязательно null
Реестр компонентов.

Возвращает

Cake\Controller\ComponentRegistry

disableAutoRender()source public

disableAutoRender( )

Отключение автоматического отображения действия.

Возвращает


$this

С тех пор

3.6.0

enableAutoRender()source public

enableAutoRender( )

Включение автоматического отображения действия.

Возвращает


$this

С тех пор

3.6.0

getName()source public

getName( )

Возвращает имя контроллера.

Возвращает

строка

С тех пор

3.6.0

getPlugin()source public

getPlugin( )

Возвращает имя плагина.

Возвращает

строка|null

С тех пор

3.6.0

getRequest()source public

getRequest( )

Получает экземпляр запроса.

Возвращает

Cake\Http\ServerRequest

С тех пор

3.6.0

getResponse()source public

getResponse( )

Получает экземпляр ответа.

Возвращает

Cake\Http\Response

С тех пор

3.6.0

implementedEvents()source public

implementedEvents( )

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

Возвращает

массив

Реализация

Cake\Event\EventListenerInterface::implementedEvents()

initialize()source public

initialize( )

Метод инициализации.

Реализуйте этот метод, чтобы избежать необходимости переписывать конструктор и вызывать родительский.

invokeAction()source public

invokeAction( )

Отправляет действие контроллера. Проверяет, существует ли действие и оно не является частным.

Возвращает

смешанное
Результирующий ответ.

Исключения

Исключение отражения

isAction()source public

isAction( string $action )

Метод для проверки того, доступно ли действие из URL.

Переопределите этот метод, чтобы изменить методы контроллера, которые можно достичь. По умолчанию все методы, определенные в Cake\Controller\Controller, недоступны, и все публичные методы во всех подклассах этого класса доступны.

Параметры

строка $action
Действие для проверки.

Возвращает

логическое
Доступно ли действие из URL.

Исключения

Исключение отражения

isAutoRenderEnabled()source public

isAutoRenderEnabled( )

Возвращает true, если действие должно быть отображено автоматически.

Возвращает

логическое

С тех пор

3.6.0

loadComponent()source public

loadComponent( string $name , array $config = [] )

Добавление компонента в реестр контроллера.

Этот метод также установит компонент в свойство. Например:

$this->loadComponent('Acl.Acl');

Приведет к установке свойства Toolbar.

Параметры

строка $name
Имя компонента для загрузки.
массив $config необязательно []
Настройка компонента.

Возвращает

Cake\Controller\Component

Исключения

Исключение

paginate()source public

paginate( Cake\ORM\Table|string|Cake\ORM\Query|null $object = null , array $settings = [] )

Обрабатывает постраничную навигацию записей в объектах таблиц.

Загрузит соотвествующий объект таблицы и позволит компоненту PaginatorComponent выполнить постраничную навигацию запроса, используя данные запроса и настройки, определенные в $this->paginate.

Этот метод также сделает PaginatorHelper доступным в представлении.

Параметры

Cake\ORM\Table|строка|Cake\ORM\Query|null $object необязательный null

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

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

Возвращает

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 необязательный 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 необязательный null
URL по умолчанию, используемый, если HTTP_REFERER не может быть считан из заголовков
boolean $local необязательный false
Если true, ограничивает ссылки на источники локальным сервером

Возвращает

строка
URL ссылки

render()source public

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

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

Параметры

строка|null $view необязательный null
Представление для рендеринга
строка|null $layout необязательный 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 Аргументы, передаваемые в действие

Возвращает

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

setName()source public

setName( string $name )

Устанавливает имя контроллера.

Параметры

строка $name
Имя контроллера.

Возвращает


$this

Since

3.6.0

setPlugin()source public

setPlugin( string $name )

Устанавливает имя плагина.

Параметры

строка $name
Имя плагина.

Возвращает


$this

Since

3.6.0

setRequest()source public

setRequest( Cake\Http\ServerRequest $request )

Устанавливает объекты запроса и настраивает ряд свойств контроллера на основе содержимого запроса. Контроллер действует как прокси для определенных переменных представления, которые также должны быть обновлены здесь. Свойства, которые устанавливаются:

  • $this->request - В параметр $request
  • $this->passedArgs - То же самое, что $request->params['pass]

Параметры

Cake\Http\ServerRequest $request
Экземпляр запроса.

Возвращает


$this

setResponse()source public

setResponse( Cake\Http\Response $response )

Устанавливает экземпляр ответа.

Параметры

Cake\Http\Response $response
Экземпляр ответа.

Возвращает


$this

Since

3.6.0

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 deprecated

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().

Параметры

mixed $msg
Сообщение для журнала.
integer|string $level необязательно LogLevel::ERROR
Уровень ошибки.
string|array $context необязательно []
Дополнительные данные журнала, относящиеся к этому сообщению.

Возвращает

boolean
Результат записи в журнал.

Методы, используемые из Cake\Utility\MergeVariablesTrait

_mergeProperty()source protected

_mergeProperty( string $property , array $parentClasses , array $options )

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

Параметры

string $property
Имя свойства, подлежащего объединению.
array $parentClasses
Массив классов, которые нужно объединить.
array $options
Опции для объединения свойства, см. _mergeVars()

_mergePropertyData()source protected

_mergePropertyData( array $current , array $parent , boolean $isAssoc )

Объединение каждого из ключей в свойстве.

Параметры

array $current
Текущее объединенное значение.
array $parent
Значение родительского класса.
boolean $isAssoc
Флаг, указывающий, следует ли выполнять объединение в ассоциативном режиме.

Возвращает

mixed
Обновленное значение.

_mergeVars()source protected

_mergeVars( array $properties , array $options = [] )

Объединение списка $properties со всеми родительскими классами текущего класса.

Опции:

  • associative - Список свойств, которые следует обрабатывать как ассоциативные массивы. Свойства в этом списке будут переданы через Hash::normalize() перед объединением.

Параметры

array $properties
Массив свойств и стратегии объединения для них.
array $options необязательно []
Опции, используемые при объединении свойств.

Методы, используемые из Cake\Datasource\ModelAwareTrait

_setModelClass()source protected

_setModelClass( string $name )

Установка свойств modelClass и modelKey на основе соглашений.

Если свойства уже заданы, они не будут перезаписаны.

Параметры

string $name
Имя класса.

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 deprecated

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 deprecated

requestAction( string|array $url , array $extra = [] )

Вызывает метод контроллера из любого места. Может использоваться для соединения контроллеров или подключения плагинов к основному приложению. requestAction может использоваться для возвращения отрисованных представлений или получения возвращаемого значения из действий контроллера.

Под капотом этот метод использует Router::reverse() для преобразования параметра $url в строковый URL. Вы должны использовать форматы URL, совместимые с Router::reverse().

Примеры

Базовый пример получения возвращаемого значения действия контроллера:

$variables = $this->requestAction('/articles/popular');

Базовый пример использования request action для получения отрисованной страницы без макета.

$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 вместо этого метода.

Параметры

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

URL в виде строки или массива. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные аргументы в параметре $url.

массив $extra необязательно []

Если массив содержит ключ "return", он устанавливает autoRender в значение true. Также может быть использован для отправки данных GET/POST и передачи аргументов.

Возвращает

смешанное

Булево значение true или false при успехе/неудачи или содержимое отрисованного действия, если в $extra установлен ключ "return".


Методы, используемые из Cake\View\ViewVarsTrait

createView()source public

createView( string|null $viewClass = null )

Создает экземпляр класса представления на основе текущей конфигурации.

Параметры

строка|null $viewClass необязательно null
Необязательное полное имя класса View для создания экземпляра.

Возвращает

Cake\View\View

Исключения

Cake\View\Exception\MissingViewException
Если класс представления не найден.

set()source public

set( string|array $name , mixed $value = null )

Сохраняет переменную или ассоциативный массив переменных для использования внутри шаблона.

Параметры

строка|массив $name
Строка или массив данных.
смешанное $value необязательно null

Значение в случае, если $name является строкой (которая затем работает как ключ). Не используется, если $name является ассоциативным массивом, иначе служит значениями для ключей $name.

Возвращает


$this

viewBuilder()source public

viewBuilder( )

Получить используемый билдер представлений.

Возвращает

Cake\View\ViewBuilder

viewOptions()source public deprecated

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

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

Устарело

3.7.0 Используйте ViewBuilder::setOptions() или любой из его методов-сеттеров вместо этого.

Параметры

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

Выполнять слияние с существующими допустимыми параметрами представления или переопределять их. По умолчанию true.

Возвращает

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

Сводка магических методов

isAuthorized()source public

isAuthorized( $user )

Параметры

$user

Возвращает

boolean

Магические методы, унаследованные от Cake\Event\EventDispatcherInterface

getEventManager()

Подробности свойств

$Viewsource

public Cake\View\View

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

Устарело

3.1.0 Используйте viewBuilder() вместо этого.

$_componentssource

protected Cake\Controller\ComponentRegistry

Экземпляр ComponentRegistry, используемый для создания компонентов.

$_responseClasssource

protected строка

Имя класса, используемого для создания объекта ответа.

'Cake\Http\Response'

$_validViewOptionssource

protected массив

Эти свойства контроллера будут переданы из контроллера в представление в качестве параметров.

См.

Cake\View\View

Устарело

3.7.0 Используйте ViewBuilder::setOptions() или любой из его методов-сеттеров вместо этого.
[
    'passedArgs'
]

$autoRendersource

protected булево

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

true

$componentssource

public массив

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

Пример:

public $components = ['RequestHandler', 'Acl'];

Ссылка

https://book.cakephp.org/3.0/en/controllers/components.html

Устарело

3.0.0 Вам следует настраивать компоненты в методе Controller::initialize().
[]

$helperssource

public массив

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

Пример:

public $helpers = ['Form', 'Html', 'Time'];

Ссылка

https://book.cakephp.org/3.0/en/controllers.html#configuring-helpers-to-load

Устарело

3.0.0 Вы должны настроить хелперы в методе AppView::initialize().
[]

$namesource

protected строка

Имя этого контроллера. Имена контроллеров множественного числа, названные по модели, которую они обрабатывают.

Автоматически устанавливается с помощью соглашений в Controller::__construct().

$paginatesource

public массив

Настройки для постраничной навигации.

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

См.

Cake\Controller\Component\PaginatorComponent
[]

$passedArgssource

public array

Содержит все переданные параметры.

Устаревшее

3.1.0 Используйте $this->request->getParam('pass') вместо этого.
[]

$pluginsource

protected string|null

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

$requestsource

public Cake\Http\ServerRequest

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

Устаревшее 3.6.0: Свойство станет защищённым в 4.0.0. Используйте getRequest()/setRequest вместо него.

Ссылка

https://book.cakephp.org/3.0/ru/controllers/request-response.html#request

$responsesource

public Cake\Http\Response

Экземпляр объекта Response, содержащий информацию о предстоящем ответе.

Устаревшее 3.6.0: Свойство станет защищённым в 4.0.0. Используйте getResponse()/setResponse вместо него.

Ссылка

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–present 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.7/class-Cake.Controller.Controller.html

Spec-Zone.ru

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