Класс ErrorController
Контроллер обработки ошибок
Контроллер, используемый ErrorHandler для отображения страниц ошибок.
- Cake\Controller\Controller implements Cake\Event\EventListenerInterface, Cake\Event\EventDispatcherInterface uses 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
Наследуемые магические свойства
Наследуемые свойства
-
View,_components,_responseClass,_validViewOptions,autoRender,components,helpers,name,paginate,passedArgs,plugin,request,response_eventClass,_eventManager_tableLocator_modelFactories,_modelType,modelClass_viewBuilder,viewClass,viewVars
Краткое описание методов
- beforeRender() publicОбратный вызов beforeRender.
- initialize() publicМетод инициализации.
Подробное описание методов
beforeRender()source public
beforeRender( Cake\Event\Event $event )
Обратный вызов beforeRender.
Параметры
-
Cake\Event\Event$event - Событие.
Переопределяет
Cake\Controller\Controller::beforeRender() initialize()source public
initialize( )
Метод инициализации.
Переопределяет
Cake\Controller\Controller::initialize() Методы, унаследованные от Cake\Controller\Controller
__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( )
Объединяет переменные компонентов и помощников из родительских классов.
_viewPath()source protected
_viewPath( )
Получение viewPath на основе имени контроллера и префикса запроса.
Возвращает
stringafterFilter()source public
afterFilter( Cake\Event\Event $event )
Вызывается после выполнения и отображения действия контроллера.
Параметры
-
Cake\Event\Event$event - Экземпляр события
Возвращает
Cake\Http\Response|nullСсылка
https://book.cakephp.org/3.0/ru/controllers.html#request-life-cycle-callbacksbeforeFilter()source public
beforeFilter( Cake\Event\Event $event )
Вызывается перед действием контроллера. Вы можете использовать этот метод для настройки и настройки компонентов или выполнения логики, которая должна выполняться перед каждым действием контроллера.
Параметры
-
Cake\Event\Event$event - Экземпляр события
Возвращает
Cake\Http\Response|nullСсылка
https://book.cakephp.org/3.0/ru/controllers.html#request-life-cycle-callbacksbeforeRedirect()source public
beforeRedirect( Cake\Event\Event $event , string|array $url , Cake\Http\Response $response )
Метод beforeRedirect вызывается, когда вызывается метод перенаправления контроллера, но до любого дальнейшего действия.
Если событие остановлено, контроллер не продолжит перенаправлять запрос. Переменные $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-callbackscomponents()source public
components( Cake\Controller\ComponentRegistry|null $components = null )
Получение регистра компонентов для этого контроллера.
Если вызвано с первым параметром, он будет установлен как свойство контроллера $this->_components
Параметры
-
Cake\Controller\ComponentRegistry|null$componentsопционально null - Регистр компонентов.
Возвращает
Cake\Controller\ComponentRegistrydisableAutoRender()source public
disableAutoRender( )
Отключить автоматическое отображение действия.
Возвращает
$this
С версии
3.6.0enableAutoRender()source public
enableAutoRender( )
Включить автоматическое отображение действия.
Возвращает
$this
С версии
3.6.0getRequest()source public
getRequest( )
Получает экземпляр запроса.
Возвращает
Cake\Http\ServerRequestС версии
3.6.0getResponse()source public
getResponse( )
Получает экземпляр ответа.
Возвращает
Cake\Http\ResponseС версии
3.6.0implementedEvents()source public
implementedEvents( )
Возвращает список всех событий, которые будут срабатывать в контроллере во время его жизненного цикла. Вы можете переопределить эту функцию, чтобы добавить свои собственные обработчики событий.
Возвращает
arrayРеализация
Cake\Event\EventListenerInterface::implementedEvents() invokeAction()source public
invokeAction( )
Выполняет действие контроллера. Проверяет, что действие существует и не является закрытым.
Возвращает
mixedРезультат ответа.
Исключения
ReflectionExceptionisAction()source public
isAction( string $action )
Метод для проверки доступности действия из URL.
Переопределите этот метод, чтобы изменить, какие методы контроллера могут быть доступны. По умолчанию доступ к методам класса Cake\Controller\Controller запрещен, а все публичные методы всех подклассов этого класса разрешены.
Параметры
- string
$action - Действие для проверки.
Возвращает
booleanДоступно ли действие из URL.
Исключения
ReflectionExceptionisAutoRenderEnabled()source public
isAutoRenderEnabled( )
Возвращает true, если действие должно быть отображено автоматически.
Возвращает
booleanС версии
3.6.0loadComponent()source public
loadComponent( string $name , array $config = [] )
Добавляет компонент в реестр контроллера.
Этот метод также установит компонент в свойство. Например:
$this->loadComponent('Acl.Acl'); Приведет к установке свойства Toolbar.
Параметры
- string
$name - Имя компонента для загрузки.
- array
$configoptional [] - Настройка компонента.
Возвращает
Cake\Controller\ComponentИсключения
Exceptionpaginate()source public
paginate( Cake\ORM\Table|string|Cake\ORM\Query|null $object = null , array $settings = [] )
Обрабатывает постраничную навигацию записей в объектах таблиц.
Загрузит указанный объект таблицы и выполнит постраничную навигацию запроса, используя данные запроса и настройки, определенные в $this->paginate.
Этот метод также сделает PaginatorHelper доступным в представлении.
Параметры
-
Cake\ORM\Table|string|Cake\ORM\Query|null$objectoptional null Таблица для постраничной навигации (например: экземпляр таблицы, 'ИмяТаблицы' или объект запроса)
- array
$settingsoptional [] - Настройки/конфигурация, используемые для постраничной навигации.
Возвращает
Cake\ORM\ResultSet|Cake\Datasource\ResultSetInterfaceРезультаты запроса
Исключения
RuntimeExceptionПри невозможности найти совместимый объект таблицы.
Ссылка
https://book.cakephp.org/3.0/ru/controllers.html#paginating-a-modelredirect()source public
redirect( string|array $url , integer $status = 302 )
Перенаправляет на заданный $url, после отключения $this->autoRender.
Параметры
- string|array
$url Строка или массив, определяющие URL, указывающий на другую позицию в приложении, или абсолютный URL
- integer
$statusoptional 302 - Код HTTP-статуса (например: 301)
Возвращает
Cake\Http\Response|nullСсылка
https://book.cakephp.org/3.0/ru/controllers.html#Controller::redirectreferer()source public
referer( string|array|null $default = null , boolean $local = false )
Возвращает URL, по которому был произведен запрос.
Параметры
- string|array|null
$defaultoptional null - URL по умолчанию, если HTTP_REFERER не может быть прочитан из заголовков
- boolean
$localoptional false - Если true, ограничивает URL, отправленные на сервер, до локального сервера
Возвращает
stringURL ссылки
render()source public
render( string|null $view = null , string|null $layout = null )
Создаёт нужный класс представления, передаёт ему данные и использует его для рендеринга результата представления.
Параметры
- string|null
$viewoptional null - Представление для рендеринга
- string|null
$layoutoptional null - Макет для использования
Возвращает
Cake\Http\ResponseОбъект ответа, содержащий рендеренное представление.
Ссылка
https://book.cakephp.org/3.0/ru/controllers.html#rendering-a-viewsetAction()source public
setAction( string $action , ... $args )
Внутренне перенаправляет одно действие на другое. В отличие от Controller::redirect(), не выполняет новый HTTP-запрос.
Примеры:
setAction('another_action');
setAction('action_with_parameters', $parameter1); Параметры
- string
$action Новое действие, на которое происходит "перенаправление". Все другие параметры, переданные в этот метод, будут переданы в качестве параметров новому действию.
- ...
$args - $args Параметры, передаваемые в действие
Возвращает
mixedВозвращает значение, возвращенное вызванным действием
setName()source public
setName( string $name )
Устанавливает имя контроллера.
Параметры
- string
$name - Имя контроллера.
Возвращает
$this
С версии
3.6.0setPlugin()source public
setPlugin( string $name )
Устанавливает имя плагина.
Параметры
- string
$name - Имя плагина.
Возвращает
$this
С версии
3.6.0setRequest()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
С версии
3.6.0shutdownProcess()source public
shutdownProcess( )
Выполняет различные процессы завершения работы для этого контроллера. Вызывает компоненты и обратные вызовы контроллера в правильном порядке.
- вызывает обратный вызов компонента
shutdown. - вызывает метод контроллера
afterFilter.
Возвращает
Cake\Http\Response|nullstartupProcess()source public
startupProcess( )
Выполняет процесс запуска для этого контроллера. Вызывает компоненты и обратные вызовы контроллера в правильном порядке.
- Инициализирует компоненты, вызывая их обратный вызов
initialize - Вызывает метод контроллера
beforeFilter. - вызывает методы компонентов
startup.
Возвращает
Cake\Http\Response|nullМетоды, используемые из Cake\Event\EventDispatcherTrait
dispatchEvent()source public
dispatchEvent( string $name , array|null $data = null , object|null $subject = null )
Обёртка для создания и отправки событий.
Возвращает отправленное событие.
Параметры
- строка
$name - Имя события.
- массив|null
$dataнеобязательно null Любое значение, которое вы хотите передать с этим событием, чтобы его могли прочитать слушатели.
- объект|null
$subjectнеобязательно null Объект, к которому относится это событие ($this по умолчанию).
Возвращает
Cake\Event\EventeventManager()source public устарело
eventManager( Cake\Event\EventManager $eventManager = null )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации любых новых слушателей или обратных вызовов к событиям объекта, или создавать свои собственные события и вызывать их по своему усмотрению.
Устарело
3.5.0 Используйте getEventManager()/setEventManager() вместо этого.Параметры
-
Cake\Event\EventManager$eventManagerнеобязательно null - eventManager для установки
Возвращает
Cake\Event\EventManagergetEventManager()source public
getEventManager( )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации любых новых слушателей или обратных вызовов к событиям объекта, или создавать свои собственные события и вызывать их по своему усмотрению.
Возвращает
Cake\Event\EventManagersetEventManager()source public
setEventManager( Cake\Event\EventManager $eventManager )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации любых новых слушателей или обратных вызовов к событиям объекта, или создавать свои собственные события и вызывать их по своему усмотрению.
Параметры
-
Cake\Event\EventManager$eventManager - eventManager для установки
Возвращает
$this
Методы, используемые из Cake\ORM\Locator\LocatorAwareTrait
getTableLocator()source public
getTableLocator( )
Получает локатор таблиц.
Возвращает
Cake\ORM\Locator\LocatorInterfacesetTableLocator()source public
setTableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator )
Устанавливает локатор таблиц.
Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocator - Экземпляр LocatorInterface.
Возвращает
$this
tableLocator()source public устарело
tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator = null )
Устанавливает локатор таблиц. Если параметры не переданы, возвращает текущий используемый локатор.
Устарело
3.5.0 Используйте getTableLocator()/setTableLocator() вместо этого.Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocatorнеобязательно null - Экземпляр LocatorInterface.
Возвращает
Cake\ORM\Locator\LocatorInterfaceМетоды, используемые из Cake\Log\LogTrait
log()source public
log( mixed $msg , integer|string $level = LogLevel::ERROR , string|array $context = [] )
Удобный метод для записи сообщения в журнал. См. Log::write() для получения дополнительной информации о записи в журналы.
Параметры
- смешанное
$msg - Сообщение журнала.
- целое число|строка
$levelнеобязательно LogLevel::ERROR - Уровень ошибки.
- строка|массив
$contextнеобязательно [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
booleanУспех записи в журнал.
Методы, используемые из Cake\Utility\MergeVariablesTrait
_mergeProperty()source protected
_mergeProperty( string $property , array $parentClasses , array $options )
Объединяет одно свойство со значениями, объявленными во всех родительских классах.
Параметры
- строка
$property - Имя объединяемого свойства.
- массив
$parentClasses - Массив классов, которые нужно объединить.
- массив
$options - Параметры для объединения свойства, см. _mergeVars()
_mergePropertyData()source protected
_mergePropertyData( array $current , array $parent , boolean $isAssoc )
Объединяет каждый из ключей в свойстве.
Параметры
- массив
$current - Текущее объединённое значение.
- массив
$parent - Значение родительского класса.
- boolean
$isAssoc - Указывает, будет ли объединение выполнено в ассоциативном режиме.
Возвращает
смешанноеОбновлённое значение.
_mergeVars()source protected
_mergeVars( array $properties , array $options = [] )
Объединяет список $properties со всеми родительскими классами текущего класса.
Параметры:
-
associative- Список свойств, которые должны обрабатываться как ассоциативные массивы. Свойства в этом списке будут переданы через Hash::normalize() перед объединением.
Параметры
- массив
$properties - Массив свойств и стратегии объединения для них.
- массив
$optionsнеобязательно [] - Параметры, используемые при объединении свойств.
Методы, используемые из Cake\Datasource\ModelAwareTrait
_setModelClass()source protected
_setModelClass( string $name )
Установите свойства modelClass и modelKey на основе соглашений.
Если свойства уже установлены, они не будут перезаписаны.
Параметры
- строка
$name - Имя класса.
getModelType()source public
getModelType( )
Получить тип модели, который будет использоваться этим классом.
Возвращаемое значение
строкаloadModel()source public
loadModel( string|null $modelClass = null , string|null $modelType = null )
Загружает и создаёт объекты репозитория, необходимые для этого объекта.
Обычно используется для загрузки объектов ORM Table по мере необходимости. Также может использоваться для загрузки других типов объектов репозитория, которые использует ваше приложение.
Если поставщик репозитория не возвращает объект, будет выброшено исключение MissingModelException.
Параметры
- строка|null
$modelClassнеобязательно null - Имя класса модели для загрузки. По умолчанию $this->modelClass
- строка|null
$modelTypeнеобязательно null - Тип репозитория для загрузки. По умолчанию значение modelType().
Возвращаемое значение
Cake\Datasource\RepositoryInterfaceСозданный экземпляр модели.
Исключения
Cake\Datasource\Exception\MissingModelExceptionЕсли класс модели не найден.
InvalidArgumentException
При использовании типа, который не был зарегистрирован.
UnexpectedValueException
Если тип модели не определён
modelFactory()source public
modelFactory( string $type , callable $factory )
Переопределить существующую вызываемую функцию для создания репозиториев заданного типа.
Параметры
- строка
$type - Имя типа репозитория, для которого предназначена функция фабрики.
- вызываемая функция
$factory - Функция фабрики, используемая для создания экземпляров.
modelType()source public устаревший
modelType( string|null $modelType = null )
Установить или получить тип модели, который будет использоваться этим классом.
Устаревший
3.5.0 Используйте getModelType()/setModelType() вместо этого.Параметры
- строка|null
$modelTypeнеобязательно null - Тип модели или null для получения текущего
Возвращаемое значение
строка|Cake\Datasource\ModelAwareTrait$this
setModelType()source public
setModelType( string $modelType )
Установить тип модели, который будет использоваться этим классом.
Параметры
- строка
$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'); Базовый пример request action для получения отрисованной страницы без макета.
$viewHtml = $this->requestAction('/articles/popular', ['return']); Вы также можете передать URL в виде массива:
$vars = $this->requestAction(['controller' => 'articles', 'action' => 'popular']);
Передача других данных запроса
Вы можете передать POST, GET, COOKIE и другие данные в запрос, используя соответствующие ключи. Cookies могут быть переданы с помощью ключа 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\ViewBuilderviewOptions()source public устаревший
viewOptions( string|array|null $options = null , boolean $merge = true )
Получить/установить допустимые параметры представления в свойстве объекта _validViewOptions. Свойство создаётся как пустой массив, если оно не задано. Если вызывается без параметров, то возвращает текущий список допустимых параметров представления. Смотрите createView().
Устаревший
3.7.0 Используйте ViewBuilder::setOptions() или любой из его методов set-тера вместо этого.Параметры
- строка|массив|null
$optionsнеобязательно null - строка или массив строк, которые нужно добавить к _validViewOptions.
- boolean
$mergeнеобязательно true Объединять или переопределять существующие допустимые параметры представления. По умолчанию
true.
Возвращаемое значение
массивОбновлённые параметры представления в виде массива.
Магические методы, унаследованные от Cake\Controller\Controller
isAuthorized() |
Магические методы, унаследованные от Cake\Event\EventDispatcherInterface
getEventManager() |
© 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.ErrorController.html