Spec-Zone.ru › CakePHP 3.8

Класс 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
Пространство имен: 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( )

Объединить компоненты, переменные helpers из родительских классов.

_viewPath()source protected

_viewPath( )

Получить viewPath на основе имени контроллера и префикса запроса.

Возвращает

string

afterFilter()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-callbacks

beforeFilter()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-callbacks

beforeRedirect()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-callbacks

components()source public

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

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

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

Параметры

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

Возвращает

Cake\Controller\ComponentRegistry

disableAutoRender()source public

disableAutoRender( )

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

Возвращает


$this

С тех пор

3.6.0
END_OF_DOCUMENT_MARKER ```

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 опционально []
Настройка компонента.

Возвращает

Cake\Controller\Component

Выбрасывает

Exception

paginate()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-model

redirect()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::redirect

referer()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 предшественника локальным сервером.

Возвращает

string
URL страницы-предшественника

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-view

setAction()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.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
Значение родительского класса.
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
Имя класса.
END_OF_DOCUMENT_MARKER ```

getModelType()source public

getModelType( )

Получить тип модели, используемый этим классом

Возвращает

string

loadModel()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\ViewBuilder

viewOptions()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

Spec-Zone.ru

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