Spec-Zone.ru › CakePHP 3.6

Класс 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
Extended by Cake\Controller\ErrorController
Пространство имён: Cake\Controller
Расположение: Controller/ErrorController.php

Наследуемые магические свойства

  • Auth, Cookie, Csrf, Flash, Paginator, RequestHandler, Security _validViewOptions

Наследуемые свойства

  • 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 на основе имени контроллера и префикса запроса.

Возвращает

string

afterFilter()source public

afterFilter( Cake\Event\Event $event )

Вызывается после выполнения и отображения действия контроллера.

Параметры

Cake\Event\Event $event
Экземпляр события

Возвращает

boolean|null

Ссылка

https://book.cakephp.org/3.0/ru/controllers.html#request-life-cycle-callbacks

beforeFilter()source public

beforeFilter( Cake\Event\Event $event )

Вызывается перед действием контроллера. Можно использовать этот метод для настройки и настройки компонентов или выполнения логики, которая должна происходить перед каждым действием контроллера.

Параметры

Cake\Event\Event $event
Экземпляр события

Возвращает

boolean|null

Ссылка

https://book.cakephp.org/3.0/ru/controllers.html#request-life-cycle-callbacks

beforeRedirect()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
Объект ответа.

Возвращает

boolean|null

Ссылка

https://book.cakephp.org/3.0/ru/controllers.html#request-life-cycle-callbacks

components()source public

components( Cake\Controller\ComponentRegistry|null $components = null )

Получение реестра компонентов для этого контроллера.

Если вызвана с первым параметром, она будет установлена в качестве свойства контроллера $this->_components.

Параметры

Cake\Controller\ComponentRegistry|null $components необязательно null
Реестр компонентов.

Возвращает

array

disableAutoRender()source public

disableAutoRender( )

Отключить автоматическое отображение действия.

Возвращает


$this

С момента

3.6.0

enableAutoRender()source public

enableAutoRender( )

Включить автоматическое отображение действия.

Возвращает


$this

С момента

3.6.0

getName()source public

getName( )

Возвращает имя контроллера.

Возвращает

string

С момента

3.6.0

getPlugin()source public

getPlugin( )

Возвращает имя плагина.

Возвращает

string|null

С момента

3.6.0

getRequest()source public

getRequest( )

Получить экземпляр запроса.

Возвращает

Cake\Http\ServerRequest

С момента

3.6.0

getResponse()source public

getResponse( )

Получить экземпляр ответа.

Возвращает

Cake\Http\Response

С момента

3.6.0

implementedEvents()source public

implementedEvents( )

Возвращает список всех событий, которые будут срабатывать в контроллере во время его жизненного цикла. Вы можете переопределить эту функцию, чтобы добавить свои собственные обработчики событий.

Возвращает

array

Реализация

Cake\Event\EventListenerInterface::implementedEvents()

invokeAction()source public

invokeAction( )

Выполняет действие контроллера. Проверяет, что действие существует и не является приватным.

Возвращает

mixed
Результат ответа.

Выбрасывает

ReflectionException

isAction()source public

isAction( string $action )

Метод для проверки доступности действия из URL.

Переопределите этот метод, чтобы изменить, какие методы контроллера могут быть доступны. По умолчанию, доступ запрещен для всех методов в Cake\Controller\Controller, и разрешен для всех публичных методов всех подклассов этого класса.

Параметры

string $action
Действие для проверки.

Возвращает

boolean
Доступно ли действие из URL.

Выбрасывает

ReflectionException

isAutoRenderEnabled()source public

isAutoRenderEnabled( )

Возвращает true, если действие должно быть отображено автоматически.

Возвращает

boolean

С момента

3.6.0

loadComponent()source public

loadComponent( string $name , array $config = [] )

Добавить компонент в реестр контроллера.

Этот метод также задаст компонент в свойство. Например:

$this->loadComponent('Acl.Acl');

Приведёт к установке свойства Toolbar.

Параметры

string $name
Имя компонента для загрузки.
array $config optional []
Конфигурация компонента.

Возвращает

Cake\Controller\Component

Выбрасывает

Exception

paginate()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 $object optional null

Таблица для постраничного вывода (например: экземпляр таблицы, 'ИмяТаблицы' или объект запроса)

array $settings optional []
Настройки/конфигурация, используемые для постраничного вывода.

Возвращает

Cake\ORM\ResultSet|Cake\Datasource\ResultSetInterface
Результаты запроса

Выбрасывает

RuntimeException
Когда не найден совместимый объект таблицы.

Ссылка

https://book.cakephp.org/3.0/ru/controllers.html#paginating-a-model

redirect()source public

redirect( string|array $url , integer $status = 302 )

Перенаправляет на указанный $url после отключения $this->autoRender.

Параметры

string|array $url

Строка или массив-URL, указывающий на другую локацию внутри приложения, или абсолютный URL

integer $status optional 302
Код HTTP-статуса (например: 301)

Возвращает

Cake\Http\Response|null

Ссылка

https://book.cakephp.org/3.0/ru/controllers.html#Controller::redirect

referer()source public

referer( string|array|null $default = null , boolean $local = false )

Возвращает URL ссылки, отправившей запрос.

Параметры

string|array|null $default optional null
URL по умолчанию, если HTTP_REFERER не может быть прочитан из заголовков
boolean $local optional false
Если true, ограничит ссылки на URL локального сервера

Возвращает

string
URL ссылки, отправившей запрос

render()source public

render( string|null $view = null , string|null $layout = null )

Создаёт правильный класс представления, передаёт ему данные и использует его для рендеринга выходных данных представления.

Параметры

string|null $view optional null
Представление для рендеринга
string|null $layout optional null
Макет для использования

Возвращает

Cake\Http\Response
Объект ответа, содержащий рендеренное представление.

Ссылка

https://book.cakephp.org/3.0/ru/controllers.html#rendering-a-view

setAction()source public

setAction( string $action , ... $args )

Внутренне перенаправляет одно действие на другое. Не выполняет другой HTTP-запрос, в отличие от Controller::redirect()

Примеры:

setAction('another_action');
setAction('action_with_parameters', $parameter1);

Параметры

string $action

Новое действие, на которое будет выполнено 'перенаправление'. Любые другие параметры, переданные в этот метод, будут переданы в качестве параметров новому действию.

... $args
$args Аргументы, передаваемые в действие

Возвращает

mixed
Возвращает значение, возвращённое вызываемым действием

setName()source public

setName( string $name )

Устанавливает имя контроллера.

Параметры

string $name
Имя контроллера.

Возвращает


$this

С момента

3.6.0

setPlugin()source public

setPlugin( string $name )

Устанавливает имя плагина.

Параметры

string $name
Имя плагина.

Возвращает


$this

С момента

3.6.0

setRequest()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.0

shutdownProcess()source public

shutdownProcess( )

Выполняет различные процессы завершения работы для этого контроллера. Вызывает компоненты и обратные вызовы контроллера в правильном порядке.

  • вызывает обратный вызов компонента shutdown.
  • вызывает метод контроллера afterFilter.

Возвращаемое значение

Cake\Http\Response|null

startupProcess()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\Event

eventManager()source public устаревший

eventManager( Cake\Event\EventManager $eventManager = null )

Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.

Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий объекта, или создавать собственные события и вызывать их по желанию.

Устаревший

3.5.0 Используйте getEventManager()/setEventManager() вместо этого.

Параметры

Cake\Event\EventManager $eventManager необязательно null
устанавливаемый eventManager

Возвращаемое значение

Cake\Event\EventManager

getEventManager()source public

getEventManager( )

Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.

Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий объекта, или создавать собственные события и вызывать их по желанию.

Возвращаемое значение

Cake\Event\EventManager

setEventManager()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\LocatorInterface

setTableLocator()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
Значение родительского класса.
булево $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
Необязательное имя класса представления с пространством имён для создания экземпляра.

Возвращает

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\ViewBuilder

viewOptions()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–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.6/class-Cake.Controller.ErrorController.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API