Класс ErrorController
Контроллер обработки ошибок
Контроллер, используемый ErrorHandler для рендеринга представлений об ошибках.
- 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
Унаследованные магические свойства
Унаследованные свойства
-
View,_components,_responseClass,_validViewOptions,autoRender,components,helpers,name,paginate,passedArgs,plugin,request,response_eventClass,_eventManager_tableLocator_modelFactories,_modelType,modelClass_viewBuilder,viewClass,viewVars
Краткое описание методов
- __construct() publicКонструктор
- beforeRender() publicОбработчик beforeRender.
Подробное описание методов
__construct()source public
__construct( Cake\Network\Request|null $request null , Cake\Network\Response|null $response null )
Конструктор
Параметры
-
Cake\Network\Request|null$requestнеобязательный null - Экземпляр запроса.
-
Cake\Network\Response|null$responseнеобязательный null - Экземпляр ответа.
Переопределяет
Cake\Controller\Controller::__construct() beforeRender()source public
beforeRender( Cake\Event\Event $event )
Обработчик beforeRender.
Параметры
-
Cake\Event\Event$event - Событие.
Переопределяет
Cake\Controller\Controller::beforeRender() Методы, унаследованные от Cake\Controller\Controller
__get()source public
__get( string $name )
Магический аксессор для автоматической загрузки моделей.
Параметры
- строка
$name - Имя свойства
Возвращает
boolean|objectЭкземпляр модели или false
__set()source public
__set( string $name , mixed $value )
Магический установщик для удалённых свойств.
Параметры
- строка
$name - Имя свойства.
- смешанный
$value - Значение для установки.
_loadComponents()source protected
_loadComponents( )
Загружает определённые компоненты с помощью фабрики компонентов.
_mergeControllerVars()source protected
_mergeControllerVars( )
Объединяет переменные компонентов и помощников из родительских классов.
_viewPath()source protected
_viewPath( )
Получить viewPath на основе имени контроллера и префикса запроса.
Возвращает
строкаafterFilter()source public
afterFilter( Cake\Event\Event $event )
Вызывается после выполнения и отображения действия контроллера.
Параметры
-
Cake\Event\Event$event - Экземпляр события
Возвращает
Cake\Network\Response|nullСсылка
http://book.cakephp.org/3.0/ru/controllers.html#request-life-cycle-callbacksbeforeFilter()source public
beforeFilter( Cake\Event\Event $event )
Вызывается перед действием контроллера. Вы можете использовать этот метод для настройки и настройки компонентов или выполнения логики, которая должна выполняться перед каждым действием контроллера.
Параметры
-
Cake\Event\Event$event - Экземпляр события
Возвращает
Cake\Network\Response|nullСсылка
http://book.cakephp.org/3.0/ru/controllers.html#request-life-cycle-callbacksbeforeRedirect()source public
beforeRedirect( Cake\Event\Event $event , string|array $url , Cake\Network\Response $response )
Метод beforeRedirect вызывается, когда вызывается метод перенаправления контроллера, но перед любыми дальнейшими действиями.
Если событие остановлено, контроллер не будет продолжать перенаправлять запрос. Переменные $url и $status имеют такое же значение, как и для метода контроллера. Вы можете установить результат события в экземпляр ответа или изменить место перенаправления, используя экземпляр ответа контроллера.
Параметры
-
Cake\Event\Event$event - Экземпляр события
- строка|массив
$url Строка или массив-базированный URL, указывающий на другое местоположение в приложении, или абсолютный URL
-
Cake\Network\Response$response - Объект ответа.
Возвращает
Cake\Network\Response|nullСсылка
http://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( )
Возвращает список всех событий, которые будут срабатывать в контроллере во время его жизненного цикла. Вы можете переопределить эту функцию, чтобы добавить свои собственные обработчики событий
Возвращает
массивРеализация
Cake\Event\EventListenerInterface::implementedEvents() initialize()source public
initialize( )
Метод инициализации.
Реализуйте этот метод, чтобы избежать необходимости перезаписывать конструктор и вызывать родительский.
invokeAction()source public
invokeAction( )
Выполняет действие контроллера. Проверяет, что действие существует и не является закрытым.
Возвращает
смешанныйРезультат ответа.
Исключение
LogicExceptionЕсли запрос не задан.
Cake\Controller\Exception\MissingActionExceptionЕсли действия не определены или недоступны.
isAction()source public
isAction( string $action )
Метод для проверки доступности действия из URL.
Переопределите этот метод, чтобы изменить доступные методы контроллера. По умолчанию доступ к методам класса Cake\Controller\Controller запрещен, а все публичные методы всех подклассов этого класса разрешены.
Параметры
- строка
$action - Действие для проверки.
Возвращаемые значения
booleanДоступно ли действие из URL.
loadComponent()source public
loadComponent( string $name , array $config [] )
Добавляет компонент в реестр контроллера.
Этот метод также установит компонент в свойство. Например:
$this->loadComponent('Acl.Acl'); Результат — установка свойства Toolbar.
Параметры
- строка
$name - Имя компонента для загрузки.
- массив
$configнеобязательно [] - Конфигурация компонента.
Возвращаемые значения
Cake\Controller\Componentpaginate()source public
paginate( Cake\ORM\Table|string|Cake\ORM\Query|null $object null )
Обрабатывает постраничный вывод записей в объектах таблицы.
Загрузит связанный объект таблицы и выполнит постраничную навигацию запроса с использованием данных запроса и настроек, определенных в $this->paginate.
Также этот метод сделает PaginatorHelper доступным в представлении.
Параметры
-
Cake\ORM\Table|строка|Cake\ORM\Query|null$objectнеобязательно null Таблица для постраничной навигации (например: экземпляр таблицы, 'ИмяТаблицы' или объект запроса)
Возвращаемые значения
Cake\ORM\ResultSetРезультаты запроса
Исключения
RuntimeExceptionКогда не удается найти совместимый объект таблицы.
Ссылка
http://book.cakephp.org/3.0/ru/controllers.html#paginating-a-modelredirect()source public
redirect( string|array $url , integer $status 302 )
Перенаправляет на указанный $url, отключив $this->autoRender.
Параметры
- строка|массив
$url Строковый или массивно-ориентированный URL, указывающий на другое место в приложении или абсолютный URL.
- целое число
$statusнеобязательно 302 - Код HTTP-статуса (например: 301)
Возвращаемые значения
Cake\Network\Response|nullСсылка
http://book.cakephp.org/3.0/ru/controllers.html#Controller::redirectreferer()source public
referer( string|array|null $default null , boolean $local false )
Возвращает URL предыдущего запроса (referrer) для этого запроса.
Параметры
- строка|массив|null
$defaultнеобязательно null - URL по умолчанию, если HTTP_REFERER не может быть прочитан из заголовков.
- логическое
$localнеобязательно false - Если true, ограничивает ссылки на предыдущие запросы локальным сервером.
Возвращаемые значения
строкаURL предыдущего запроса
render()source public
render( string|null $view null , string|null $layout null )
Создаёт нужный класс представления, передаёт ему данные и использует его для отрисовки вывода представления.
Параметры
- строка|null
$viewнеобязательно null - Представление для отрисовки
- строка|null
$layoutнеобязательно null - Макет для использования
Возвращаемые значения
Cake\Network\ResponseОбъект ответа, содержащий отрисованное представление.
Ссылка
http://book.cakephp.org/3.0/ru/controllers.html#rendering-a-viewsetAction()source public
setAction( string $action )
Внутренне перенаправляет одно действие на другое. Не выполняет другой HTTP-запрос, в отличие от Controller::redirect()
Примеры:
setAction('another_action');
setAction('action_with_parameters', $parameter1); Параметры
- строка
$action Новое действие, на которое выполняется «перенаправление». Любые другие параметры, переданные в этот метод, будут переданы в качестве параметров новому действию.
Возвращаемые значения
смешанный типВозвращает значение, возвращаемое вызываемым действием
setRequest()source public
setRequest( Cake\Network\Request $request )
Устанавливает объекты запроса и настраивает ряд свойств контроллера на основе содержимого запроса. Контроллер действует как прокси для определённых переменных представления, которые также должны быть обновлены здесь. Устанавливаемые свойства:
- $this->request - к параметру $request
- $this->plugin - к $request->params['plugin']
- $this->passedArgs - аналогично $request->params['pass]
- View::$plugin - $this->plugin
Параметры
-
Cake\Network\Request$request - Экземпляр запроса.
shutdownProcess()source public
shutdownProcess( )
Выполняет различные процессы завершения для этого контроллера. Вызывает компоненты и обратные вызовы контроллера в правильном порядке.
- вызывает обратный вызов компонента
shutdown. - вызывает метод контроллера
afterFilter.
Возвращаемые значения
Cake\Network\Response|nullstartupProcess()source public
startupProcess( )
Выполняет начальный процесс для этого контроллера. Вызывает компоненты и обратные вызовы контроллера в правильном порядке.
- Инициализирует компоненты, вызывая их обратный вызов
initialize - Вызывает метод контроллера
beforeFilter. - вызывает методы компонента
startup.
Возвращаемые значения
Cake\Network\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 для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов на события объекта, или создавать свои собственные события и запускать их по своему желанию.
Параметры
-
Cake\Event\EventManager$eventManagerнеобязательно null - устанавливаемый eventManager
Возвращаемые значения
Cake\Event\EventManagerМетоды, используемые из Cake\ORM\Locator\LocatorAwareTrait
tableLocator()source public
tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator null )
Устанавливает локатор таблиц. Если параметры не переданы, он вернёт текущий используемый локатор.
Параметры
-
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 - Имя класса.
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
modelType( string|null $modelType null )
Установить или получить тип модели, который будет использоваться этим классом
Параметры
- string|null
$modelTypeнеобязательный null - Тип модели или null для получения текущего
Возвращаемое значение
string|Cake\Datasource\ModelAwareTrait$this
Методы, используемые из Cake\Routing\RequestActionTrait
requestAction()source public
requestAction( string|array $url , array $extra [] )
Вызывает метод контроллера из любой точки. Может использоваться для соединения контроллеров или связывания плагинов с основным приложением. requestAction может использоваться для возврата отрисованных представлений или извлечения возвращаемого значения из действий контроллера.
Внутри метод использует Router::reverse() для преобразования параметра $url в строковый URL. Вы должны использовать форматы URL, совместимые с Router::reverse().
Примеры
Базовый пример получения возвращаемого значения действия контроллера:
$variables = $this->requestAction('/articles/popular'); Базовый пример requestAction для получения отрисованной страницы без макета.
$viewHtml = $this->requestAction('/articles/popular', ['return']); Вы также можете передать URL как массив:
$vars = $this->requestAction(['controller' => 'articles', 'action' => 'popular']);
Передача других данных запроса
Вы можете передать POST, GET, COOKIE и другие данные в запрос, используя соответствующие ключи. Куки могут быть переданы с помощью ключа cookies. Параметры GET могут быть установлены с помощью ключа query, а данные POST могут быть отправлены с помощью ключа post.
$vars = $this->requestAction('/articles/popular', [
'query' => ['page' => 1],
'cookies' => ['remember_me' => 1],
]); Отправка значений среды или заголовков
По умолчанию действия, отправленные с помощью этого метода, будут использовать значения глобальных переменных $_SERVER и $_ENV. Если вы хотите переопределить эти значения для действия запроса, вы можете указать их значения:
$vars = $this->requestAction('/articles/popular', [
'environment' => ['CONTENT_TYPE' => 'application/json']
]); Передача сессии
По умолчанию действия, отправленные с помощью этого метода, будут использовать стандартный объект сессии. Если вы хотите использовать конкретный экземпляр сессии, вам нужно указать его.
$vars = $this->requestAction('/articles/popular', [
'session' => new Session($someSessionConfig)
]); Параметры
- 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 - Необязательное именованное пространство имён класса View для создания экземпляра.
Возвращаемое значение
Cake\View\ViewВыбрасывает
Cake\View\Exception\MissingViewExceptionЕсли класс представления не был найден.
set()source public
set( string|array $name , string|array|null|boolean $value null )
Сохраняет переменную или ассоциативный массив переменных для использования внутри шаблона.
Параметры
- string|array
$name - Строка или массив данных.
- string|array|null|boolean
$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.
- булево
$mergeнеобязательно true Следует ли объединить или переопределить существующие допустимые параметры представления. По умолчанию
true.
Возвращает
массивОбновленные параметры представления в виде массива.
© 2005–2016 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.
http://api.cakephp.org/3.2/class-Cake.Controller.ErrorController.html