Spec-Zone.ru › CakePHP 3.4

Класс 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
    Обратный вызов перед отрисовкой.
  • initialize() public
    Метод инициализации.

Подробное описание методов

beforeRender()source public

beforeRender( Cake\Event\Event $event )

Обратный вызов перед отрисовкой.

Параметры

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
Экземпляр события

Возвращает

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 вызывается, когда вызывается метод перенаправления контроллера, но перед любыми дальнейшими действиями.

Если событие остановлено, контроллер не будет продолжать перенаправление запроса. Переменные $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
END_OF_DOCUMENT_MARKER ```

implementedEvents()source public

implementedEvents( )

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

Возвращает

array

Реализация

Cake\Event\EventListenerInterface::implementedEvents()

invokeAction()source public

invokeAction( )

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

Возвращает

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

Исключения

LogicException
Когда запрос не задан.
Cake\Controller\Exception\MissingActionException
Когда действия не определены или недоступны.

isAction()source public

isAction( string $action )

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

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

Параметры

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

Возвращает

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

loadComponent()source public

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

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

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

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

В результате будет установлено свойство Toolbar.

Параметры

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

Возвращает

Cake\Controller\Component

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

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

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

Возвращает

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

Исключения

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
Ссылка, направившая запрос.

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
Возвращает значение, возвращаемое вызываемым действием

setRequest()source public

setRequest( Cake\Http\ServerRequest $request )

Устанавливает объекты запроса и настраивает ряд свойств контроллера на основе содержимого запроса. Контроллер действует как прокси для некоторых переменных представления, которые также должны быть обновлены здесь. Устанавливаемые свойства:

  • $this->request - В параметр $request
  • $this->plugin - В $request->params['plugin']
  • $this->passedArgs - Также как $request->params['pass]
  • View::$plugin - $this->plugin

Параметры

Cake\Http\ServerRequest $request
Экземпляр запроса.

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 )

Обёртка для создания и отправки событий.

Возвращает отправленное событие.

Параметры

string $name
Имя события.
array|null $data optional null

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

object|null $subject optional null

Объект, к которому относится это событие ($this по умолчанию).

Возвращает

Cake\Event\Event
END_OF_DOCUMENT_MARKER

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

Параметры

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
Имя класса.

getModelType()source public

getModelType( )

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

Возвращает

string

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 )

Установить или получить тип модели, который будет использоваться этим классом

Устаревшее

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

Параметры

string|null $modelType необязательно null
Тип модели или null для получения текущего

Возвращает

string|Cake\Datasource\ModelAwareTrait
$this

setModelType()source public

setModelType( string $modelType )

Установить тип модели, который будет использоваться этим классом

Параметры

string $modelType
Тип модели

Возвращает


$this
END_OF_DOCUMENT_MARKER

Методы, используемые из 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 вместо этого метода.

Параметры

строка|массив $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–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.4/class-Cake.Controller.ErrorController.html

Spec-Zone.ru

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