Класс 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( )
Объединить компоненты, переменные helpers из родительских классов.
_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 вызывается, когда метод 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-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
$configопционально [] - Настройка компонента.
Возвращает
Cake\Controller\ComponentВыбрасывает
Exceptionpaginate()source public
paginate( Cake\ORM\Table|string|Cake\ORM\Query|null $object = null , array $settings = [] )
Обрабатывает постраничную навигацию записей в объектах Table.
Загрузит связанный объект Table и выполнит постраничную навигацию запроса с использованием данных запроса и настроек, определённых в $this->paginate.
Этот метод также сделает PaginatorHelper доступным в представлении.
Параметры
-
Cake\ORM\Table|string|Cake\ORM\Query|null$objectопционально null Таблица для постраничной навигации (например: экземпляр Table, 'НазваниеТаблицы' или объект Query).
- array
$settingsопционально [] - Настройки/конфигурация для постраничной навигации.
Возвращает
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
$statusопционально 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
$defaultопционально null - URL по умолчанию, если HTTP_REFERER не может быть прочитан из заголовков.
- boolean
$localопционально false - Если true, ограничивает URL предшественника локальным сервером.
Возвращает
stringURL страницы-предшественника
render()source public
render( string|null $view = null , string|null $layout = null )
Создаёт соответствующий класс представления, передаёт ему данные и использует его для рендеринга вывода представления.
Параметры
- string|null
$viewопционально null - Представление для рендеринга
- string|null
$layoutопционально 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( )
Получить тип модели, используемый этим классом
Возвращает
stringloadModel()source public
loadModel( string|null $modelClass = null , string|null $modelType = null )
Загружает и создаёт объекты репозитория, необходимые этому объекту
Обычно используется для загрузки объектов таблиц ORM по мере необходимости. Также может использоваться для загрузки других типов объектов репозитория, используемых вашим приложением.
Если поставщик репозитория не возвращает объект, будет брошено исключение MissingModelException.
Параметры
- string|null
$modelClassнеобязательно null Имя класса модели для загрузки. По умолчанию $this->modelClass. Имя может быть псевдонимом, например
'Post'или полным именем класса, напримерApp\Model\Table\PostsTable::class.- 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 для получения рендеренной страницы без шаблона layout.
$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\ViewBuilderviewOptions()source public устарело
viewOptions( string|array|null $options = null , boolean $merge = true )
Получить/установить допустимые параметры представления в свойстве _validViewOptions объекта. Свойство создаётся как пустой массив, если оно не установлено. Если вызывается без параметров, оно возвращает текущий список допустимых параметров представления. См. createView().
Устарело
3.7.0 Используйте ViewBuilder::setOptions() или любой из его методов-сеттеров вместо этого.Параметры
- string|array|null
$optionsнеобязательно null - строка или массив строк, которые необходимо добавить в _validViewOptions.
- boolean
$mergeнеобязательно true Объединять или перезаписывать существующие допустимые параметры представления. По умолчанию
true.
Возвращает
arrayОбновлённые параметры представления в виде массива.
Магические методы, унаследованные от 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.8/class-Cake.Controller.ErrorController.html