Класс 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Обратный вызов перед отрисовкой.
- initialize() publicМетод инициализации.
Подробное описание методов
beforeRender()source public
beforeRender( Cake\Event\Event $event )
Обратный вызов перед отрисовкой.
Параметры
-
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\ComponentRegistryimplementedEvents()source public
implementedEvents( )
Возвращает список всех событий, которые будут срабатывать в контроллере в течение его жизненного цикла. Вы можете переопределить эту функцию, чтобы добавить свои собственные обработчики событий.
Возвращает
arrayРеализация
Cake\Event\EventListenerInterface::implementedEvents() invokeAction()source public
invokeAction( )
Выполняет действие контроллера. Проверяет, что действие существует и не является закрытым.
Возвращает
mixedРезультат ответа.
Исключения
LogicExceptionКогда запрос не задан.
Cake\Controller\Exception\MissingActionExceptionКогда действия не определены или недоступны.
isAction()source public
isAction( string $action )
Метод проверки доступности действия из URL.
Переопределите этот метод, чтобы изменить, какие методы контроллера могут быть доступны по URL. По умолчанию доступ запрещен для всех методов, определенных в Cake\Controller\Controller, и разрешен для всех публичных методов всех подклассов этого класса.
Параметры
- string
$action - Действие для проверки.
Возвращает
booleanДоступно ли действие по URL.
loadComponent()source public
loadComponent( string $name , array $config [] )
Добавляет компонент в реестр контроллера.
Этот метод также установит компонент в свойство. Например:
$this->loadComponent('Acl.Acl'); В результате будет установлено свойство Toolbar.
Параметры
- string
$name - Имя компонента для загрузки.
- array
$configoptional [] - Настройка компонента.
Возвращает
Cake\Controller\Componentpaginate()source public
paginate( Cake\ORM\Table|string|Cake\ORM\Query|null $object null , array $settings [] )
Обрабатывает постраничную навигацию записей в объектах таблицы.
Загрузит связанный объект таблицы и позволит компоненту PaginatorComponent выполнить постраничную навигацию запроса, используя данные запроса и настройки, определенные в $this->paginate.
Этот метод также сделает PaginatorHelper доступным в представлении.
Параметры
-
Cake\ORM\Table|string|Cake\ORM\Query|null$objectoptional null Таблица для постраничной навигации (например: экземпляр таблицы, 'НазваниеТаблицы' или объект запроса).
- array
$settingsoptional [] - Настройки/конфигурация для постраничной навигации.
Возвращает
Cake\ORM\ResultSetРезультаты запроса
Исключения
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 ссылок локальным сервером.
Возвращает
stringСсылка, направившая запрос.
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 )
Внутренне перенаправляет одно действие на другое. Не выполняет другой HTTP-запрос, в отличие от Controller::redirect()
Примеры:
setAction('another_action');
setAction('action_with_parameters', $parameter1); Параметры
- string
$action Новое действие, на которое производится «перенаправление». Любые другие параметры, передаваемые в этот метод, будут переданы в качестве параметров новому действию.
- ...
$args - $args Аргументы, передаваемые в действие
Возвращает
mixedВозвращает значение, возвращаемое вызываемым действием
setRequest()source public
setRequest( Cake\Http\ServerRequest $request )
Устанавливает объекты запроса и настраивает ряд свойств контроллера на основе содержимого запроса. Контроллер действует как прокси для некоторых переменных представления, которые также должны быть обновлены здесь. Устанавливаемые свойства:
- $this->request - В параметр $request
- $this->plugin - В $request->params['plugin']
- $this->passedArgs - Также как $request->params['pass]
- View::$plugin - $this->plugin
Параметры
-
Cake\Http\ServerRequest$request - Экземпляр запроса.
shutdownProcess()source public
shutdownProcess( )
Выполняет различные процессы завершения работы для этого контроллера. Вызывает компоненты и обратные вызовы контроллера в правильном порядке.
- вызывает обратный вызов компонента
shutdown. - вызывает метод контроллера
afterFilter.
Возвращает
Cake\Http\Response|nullstartupProcess()source public
startupProcess( )
Выполняет начальный процесс для этого контроллера. Вызывает компоненты и обратные вызовы контроллера в правильном порядке.
- Инициализирует компоненты, вызывая их обратный вызов
initialize - Вызывает метод контроллера
beforeFilter. - вызывает методы компонента
startup.
Возвращает
Cake\Http\Response|nullМетоды, используемые из Cake\Event\EventDispatcherTrait
dispatchEvent()source public
dispatchEvent( string $name , array|null $data null , object|null $subject null )
Обёртка для создания и отправки событий.
Возвращает отправленное событие.
Параметры
- string
$name - Имя события.
- array|null
$dataoptional null Любое значение, которое вы хотите передать с этим событием, его можно будет прочитать слушателями.
- object|null
$subjectoptional 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().
Параметры
- 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( )
Получить тип модели, который будет использоваться этим классом
Возвращает
stringloadModel()source public
loadModel( string|null $modelClass null , string|null $modelType null )
Загружает и создаёт объекты репозитория, необходимые для этого объекта
Обычно используется для загрузки объектов ORM Table по мере необходимости. Также может использоваться для загрузки других типов объектов репозитория, используемых вашим приложением.
Если поставщик репозитория не возвращает объект, будет выброшено исключение MissingModelException.
Параметры
- string|null
$modelClassнеобязательно null - Имя класса модели для загрузки. По умолчанию $this->modelClass
- string|null
$modelTypeнеобязательно null - Тип репозитория для загрузки. По умолчанию значение modelType().
Возвращает
Cake\Datasource\RepositoryInterfaceСозданный экземпляр модели.
Исключения
Cake\Datasource\Exception\MissingModelExceptionЕсли класс модели не найден.
InvalidArgumentException
При использовании типа, который не был зарегистрирован.
UnexpectedValueException
Если тип модели не определён
modelFactory()source public
modelFactory( string $type , callable $factory )
Переопределите существующую вызываемую функцию для создания репозиториев заданного типа.
Параметры
- string
$type - Имя типа репозитория, для которого предназначена функция фабрики.
- callable
$factory - Функция фабрики, используемая для создания экземпляров.
modelType()source public
modelType( string|null $modelType null )
Установить или получить тип модели, который будет использоваться этим классом
Устаревшее
3.5.0 Используйте getModelType()/setModelType() вместо этого.Параметры
- string|null
$modelTypeнеобязательно null - Тип модели или null для получения текущего
Возвращает
string|Cake\Datasource\ModelAwareTrait$this
setModelType()source public
setModelType( string $modelType )
Установить тип модели, который будет использоваться этим классом
Параметры
- string
$modelType - Тип модели
Возвращает
$this
Методы, используемые из Cake\Routing\RequestActionTrait
requestAction()source public
requestAction( string|array $url , array $extra [] )
Вызывает метод контроллера из любой точки. Может использоваться для подключения контроллеров друг к другу или связывания плагинов с основным приложением. requestAction может использоваться для возврата рендеренных представлений или получения возвращаемого значения действий контроллера.
Внутри метод использует Router::reverse() для преобразования параметра $url в строковый URL. Следует использовать форматы URL, совместимые с Router::reverse().
Примеры
Базовый пример получения возвращаемого значения действия контроллера:
$variables = $this->requestAction('/articles/popular'); Базовый пример использования 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 - Необязательное имя простанства имен класса представления для инициализации.
Возвращаемое значение
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().
Параметры
- строка|массив|null
$optionsнеобязательно null - строка или массив строк, которые будут добавлены к _validViewOptions.
- boolean
$mergeнеобязательно true Объединять или переопределять существующие допустимые параметры представления. По умолчанию
true.
Возвращаемое значение
массивОбновленные параметры представления в виде массива.
Магические методы, унаследованные от Cake\Controller\Controller
isAuthorized() |
Магические методы, унаследованные от Cake\Event\EventDispatcherInterface
getEventManager() |
© 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.ErrorController.html