Класс 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\Network\Request $request null , Cake\Network\Response $response null , string|null $name null , Cake\Event\EventManager|null $eventManager null , Cake\Controller\ComponentRegistry|null $components null )
Конструктор.
Устанавливает ряд свойств на основе соглашений, если они пусты. Чтобы переопределить используемые CakePHP соглашения, вы можете определить свойства в объявлении вашего класса.
Параметры
-
Cake\Network\Request$requestнеобязательно null Объект запроса для этого контроллера. Может быть null для тестирования, но ожидайте, что функции, использующие параметры запроса, не будут работать.
-
Cake\Network\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\Network\Response|nullСсылка
http://book.cakephp.org/3.0/en/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/en/controllers.html#request-life-cycle-callbacksbeforeRedirect()source public
beforeRedirect( Cake\Event\Event $event , string|array $url , Cake\Network\Response $response )
Метод beforeRedirect вызывается, когда метод redirect контроллера вызывается, но перед любыми дальнейшими действиями.
Если событие остановлено, контроллер не продолжит перенаправлять запрос. Переменные $url и $status имеют то же значение, что и для метода контроллера. Вы можете установить результат события в экземпляр ответа или изменить местоположение перенаправления, используя экземпляр ответа контроллера.
Параметры
-
Cake\Event\Event$event - Экземпляр события
- string|array
$url Строка или массив-URL, указывающие на другое местоположение в приложении, или абсолютный URL
-
Cake\Network\Response$response - Объект ответа.
Возвращает
Cake\Network\Response|nullСсылка
http://book.cakephp.org/3.0/en/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() invokeAction()source public
invokeAction( )
Выполняет действие контроллера. Проверяет, что действие существует и не является закрытым.
Возвращает
mixedРезультат ответа.
Исключение
LogicExceptionКогда запрос не задан.
Cake\Controller\Exception\MissingActionExceptionКогда действия не определены или недоступны.
isAction()source public
isAction( string $action )
Метод для проверки доступности действия из 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Когда не найден совместимый объект таблицы.
Ссылка
http://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\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, по которому был выполнен запрос.
Параметры
- string|array|null
$defaultoptional null - URL по умолчанию, если HTTP_REFERER не может быть прочитан из заголовков.
- boolean
$localoptional false - Если true, ограничивает ссылки на запросы с локального сервера.
Возвращает
stringURL ссылки.
render()source public
render( string|null $view null , string|null $layout null )
Создаёт экземпляр соответствующего класса представления, передает ему данные и использует его для рендеринга выходных данных представления.
Параметры
- string|null
$viewoptional null - Представление для рендеринга
- string|null
$layoutoptional 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); Параметры
- string
$action Новое действие, на которое нужно 'перенаправить'. Любые другие параметры, переданные в этот метод, будут переданы как параметры новому действию.
Возвращает
mixedВозвращает значение, возвращённое вызываемым действием
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 )
Обёртка для создания и отправки событий.
Возвращает событие, которое было обработано.
Параметры
- 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 для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий объекта, или создавать свои события и вызывать их по своему желанию.
Параметры
-
Cake\Event\EventManager$eventManageroptional null - менеджер событий для установки
Возвращает
Cake\Event\EventManagerМетоды, используемые из Cake\ORM\Locator\LocatorAwareTrait
tableLocator()source public
tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator null )
Устанавливает локатор таблиц. Если параметры не переданы, он вернёт текущий используемый локатор.
Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocatoroptional 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
$leveloptional LogLevel::ERROR - Уровень ошибки.
- string|array
$contextoptional [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
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
$optionsoptional [] - Параметры для объединения свойств.
Методы, используемые из 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
$modelClassoptional null - Имя класса модели для загрузки. По умолчанию $this->modelClass
- string|null
$modelTypeoptional 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
$modelTypeoptional 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'); Базовый пример 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 вместо этого метода.Параметры
- string|array
$url URL в виде строки или массива. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные аргументы в параметре $url.
- array
$extraoptional [] Если массив содержит ключ "return", он устанавливает autoRender в true. Также может использоваться для отправки данных GET/POST и переданных аргументов.
Возвращает
mixedБулевое значение true или false при успехе/неуспехе, или содержимое отрисованного действия, если в $extra установлен ключ 'return'.
Методы, используемые из Cake\View\ViewVarsTrait
createView()source public
createView( string|null $viewClass null )
Создаёт экземпляр класса представления на основе текущей конфигурации.
Параметры
- string|null
$viewClassoptional null - Необязательное имя класса представления с пространством имён для создания экземпляра.
Возвращает
Cake\View\ViewВыбрасывает
Cake\View\Exception\MissingViewExceptionЕсли класс представления не найден.
set()source public
set( string|array $name , mixed $value null )
Сохраняет переменную или ассоциативный массив переменных для использования внутри шаблона.
Параметры
- string|array
$name - Строка или массив данных.
- mixed
$valueoptional 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–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.3/class-Cake.Controller.ErrorController.html