Spec-Zone.ru › CakePHP 3.2

Класс ErrorController

Контроллер обработки ошибок

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

Cake\Controller\Controller реализует Cake\Event\EventListenerInterface, Cake\Event\EventDispatcherInterface использует Cake\Event\EventDispatcherTrait , Cake\ORM\Locator\LocatorAwareTrait , Cake\Log\LogTrait , Cake\Utility\MergeVariablesTrait , Cake\Datasource\ModelAwareTrait , Cake\Routing\RequestActionTrait , Cake\View\ViewVarsTrait
Extended by Cake\Controller\ErrorController
Пространство имён: Cake\Controller
Расположение: Controller/ErrorController.php

Унаследованные магические свойства

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

Унаследованные свойства

  • View, _components, _responseClass, _validViewOptions, autoRender, components, helpers, name, paginate, passedArgs, plugin, request, response _eventClass, _eventManager _tableLocator _modelFactories, _modelType, modelClass _viewBuilder, viewClass, viewVars

Краткое описание методов

  • __construct() public
    Конструктор
  • beforeRender() public
    Обработчик beforeRender.

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

__construct()source public

__construct( Cake\Network\Request|null $request null , Cake\Network\Response|null $response null )

Конструктор

Параметры

Cake\Network\Request|null $request необязательный null
Экземпляр запроса.
Cake\Network\Response|null $response необязательный null
Экземпляр ответа.

Переопределяет

Cake\Controller\Controller::__construct()

beforeRender()source public

beforeRender( Cake\Event\Event $event )

Обработчик beforeRender.

Параметры

Cake\Event\Event $event
Событие.

Переопределяет

Cake\Controller\Controller::beforeRender()

Методы, унаследованные от Cake\Controller\Controller

__get()source public

__get( string $name )

Магический аксессор для автоматической загрузки моделей.

Параметры

строка $name
Имя свойства

Возвращает

boolean|object
Экземпляр модели или false

__set()source public

__set( string $name , mixed $value )

Магический установщик для удалённых свойств.

Параметры

строка $name
Имя свойства.
смешанный $value
Значение для установки.

_loadComponents()source protected

_loadComponents( )

Загружает определённые компоненты с помощью фабрики компонентов.

_mergeControllerVars()source protected

_mergeControllerVars( )

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

_viewPath()source protected

_viewPath( )

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

Возвращает

строка

afterFilter()source public

afterFilter( Cake\Event\Event $event )

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

Параметры

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

Возвращает

Cake\Network\Response|null

Ссылка

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

beforeFilter()source public

beforeFilter( Cake\Event\Event $event )

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

Параметры

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

Возвращает

Cake\Network\Response|null

Ссылка

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

beforeRedirect()source public

beforeRedirect( Cake\Event\Event $event , string|array $url , Cake\Network\Response $response )

Метод beforeRedirect вызывается, когда вызывается метод перенаправления контроллера, но перед любыми дальнейшими действиями.

Если событие остановлено, контроллер не будет продолжать перенаправлять запрос. Переменные $url и $status имеют такое же значение, как и для метода контроллера. Вы можете установить результат события в экземпляр ответа или изменить место перенаправления, используя экземпляр ответа контроллера.

Параметры

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

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

Cake\Network\Response $response
Объект ответа.

Возвращает

Cake\Network\Response|null

Ссылка

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

components()source public

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

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

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

Параметры

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

Возвращает

Cake\Controller\ComponentRegistry

implementedEvents()source public

implementedEvents( )

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

Возвращает

массив

Реализация

Cake\Event\EventListenerInterface::implementedEvents()

initialize()source public

initialize( )

Метод инициализации.

Реализуйте этот метод, чтобы избежать необходимости перезаписывать конструктор и вызывать родительский.

invokeAction()source public

invokeAction( )

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

Возвращает

смешанный
Результат ответа.

Исключение

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

isAction()source public

isAction( string $action )

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

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

Параметры

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

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

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

loadComponent()source public

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

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

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

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

Результат — установка свойства Toolbar.

Параметры

строка $name
Имя компонента для загрузки.
массив $config необязательно []
Конфигурация компонента.

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

Cake\Controller\Component

paginate()source public

paginate( Cake\ORM\Table|string|Cake\ORM\Query|null $object null )

Обрабатывает постраничный вывод записей в объектах таблицы.

Загрузит связанный объект таблицы и выполнит постраничную навигацию запроса с использованием данных запроса и настроек, определенных в $this->paginate.

Также этот метод сделает PaginatorHelper доступным в представлении.

Параметры

Cake\ORM\Table|строка|Cake\ORM\Query|null $object необязательно null

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

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

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

Исключения

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

Ссылка

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

redirect()source public

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

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

Параметры

строка|массив $url

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

целое число $status необязательно 302
Код HTTP-статуса (например: 301)

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

Cake\Network\Response|null

Ссылка

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

referer()source public

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

Возвращает URL предыдущего запроса (referrer) для этого запроса.

Параметры

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

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

строка
URL предыдущего запроса

render()source public

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

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

Параметры

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

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

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

Ссылка

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

setAction()source public

setAction( string $action )

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

Примеры:

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

Параметры

строка $action

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

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

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

setRequest()source public

setRequest( Cake\Network\Request $request )

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

  • $this->request - к параметру $request
  • $this->plugin - к $request->params['plugin']
  • $this->passedArgs - аналогично $request->params['pass]
  • View::$plugin - $this->plugin

Параметры

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

shutdownProcess()source public

shutdownProcess( )

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

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

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

Cake\Network\Response|null

startupProcess()source public

startupProcess( )

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

  • Инициализирует компоненты, вызывая их обратный вызов initialize
  • Вызывает метод контроллера beforeFilter.
  • вызывает методы компонента startup.

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

Cake\Network\Response|null

Методы, используемые из Cake\Event\EventDispatcherTrait

dispatchEvent()source public

dispatchEvent( string $name , array|null $data null , object|null $subject null )

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

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

Параметры

строка $name
Название события.
массив|null $data необязательно null

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

объект|null $subject необязательно null

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

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

Cake\Event\Event

eventManager()source public

eventManager( Cake\Event\EventManager $eventManager null )

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

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

Параметры

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

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

Cake\Event\EventManager

Методы, используемые из Cake\ORM\Locator\LocatorAwareTrait

tableLocator()source public

tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator null )

Устанавливает локатор таблиц. Если параметры не переданы, он вернёт текущий используемый локатор.

Параметры

Cake\ORM\Locator\LocatorInterface $tableLocator необязательно null
Экземпляр LocatorInterface.

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

Cake\ORM\Locator\LocatorInterface

Методы, используемые из Cake\Log\LogTrait

log()source public

log( mixed $msg , integer|string $level LogLevel::ERROR , string|array $context [] )

Удобный метод для записи сообщения в журнал. Для получения дополнительной информации о записи в журналы, обратитесь к Log::write().

Параметры

mixed $msg
Сообщение журнала.
integer|string $level необязательный LogLevel::ERROR
Уровень ошибки.
string|array $context необязательный []
Дополнительные данные журнала, относящиеся к этому сообщению.

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

boolean
Успешность записи в журнал.

Методы, используемые из Cake\Utility\MergeVariablesTrait

_mergeProperty()source protected

_mergeProperty( string $property , array $parentClasses , array $options )

Объединение одного свойства со значениями, объявленными во всех родительских классах.

Параметры

string $property
Имя свойства, подлежащего объединению.
array $parentClasses
Массив классов, которые вы хотите объединить.
array $options
Параметры для объединения свойства, см. _mergeVars()

_mergePropertyData()source protected

_mergePropertyData( array $current , array $parent , boolean $isAssoc )

Объединение каждого из ключей в свойстве.

Параметры

array $current
Текущее объединённое значение.
array $parent
Значение родительского класса.
boolean $isAssoc
Указывает, следует ли выполнять слияние в ассоциативном режиме.

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

mixed
Обновлённое значение.

_mergeVars()source protected

_mergeVars( array $properties , array $options [] )

Объединяет список $properties со всеми родительскими классами текущего класса.

Параметры:

  • associative - Список свойств, которые должны обрабатываться как ассоциативные массивы. Свойства в этом списке будут переданы через Hash::normalize() перед объединением.

Параметры

array $properties
Массив свойств и стратегии объединения для них.
array $options необязательный []
Параметры, используемые при объединении свойств.

Методы, используемые из Cake\Datasource\ModelAwareTrait

_setModelClass()source protected

_setModelClass( string $name )

Устанавливает свойства modelClass и modelKey на основе соглашений.

Если свойства уже установлены, они не будут перезаписаны.

Параметры

string $name
Имя класса.

loadModel()source public

loadModel( string|null $modelClass null , string|null $modelType null )

Загружает и создаёт объекты репозитория, необходимые этому объекту.

Обычно используется для загрузки объектов ORM Table по мере необходимости. Также может использоваться для загрузки других типов объектов репозитория, которые использует ваше приложение.

Если поставщик репозитория не возвращает объект, будет выброшено MissingModelException.

Параметры

string|null $modelClass необязательный null
Имя класса модели для загрузки. По умолчанию $this->modelClass
string|null $modelType необязательный null
Тип репозитория для загрузки. По умолчанию значение modelType().

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

Cake\Datasource\RepositoryInterface
Созданный экземпляр модели.

Выбрасывает

Cake\Datasource\Exception\MissingModelException
Если класс модели не найден.
InvalidArgumentException
При использовании типа, который не был зарегистрирован.
UnexpectedValueException
Если тип модели не определён

modelFactory()source public

modelFactory( string $type , callable $factory )

Регистрирует вызываемый объект для генерации репозиториев заданного типа.

Параметры

string $type
Имя типа репозитория, для которого предназначена функция фабрики.
callable $factory
Функция фабрики, используемая для создания экземпляров.

modelType()source public

modelType( string|null $modelType null )

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

Параметры

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

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

string|Cake\Datasource\ModelAwareTrait
$this

Методы, используемые из Cake\Routing\RequestActionTrait

requestAction()source public

requestAction( string|array $url , array $extra [] )

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

Внутри метод использует Router::reverse() для преобразования параметра $url в строковый URL. Вы должны использовать форматы URL, совместимые с Router::reverse().

Примеры

Базовый пример получения возвращаемого значения действия контроллера:

$variables = $this->requestAction('/articles/popular');

Базовый пример requestAction для получения отрисованной страницы без макета.

$viewHtml = $this->requestAction('/articles/popular', ['return']);

Вы также можете передать URL как массив:

$vars = $this->requestAction(['controller' => 'articles', 'action' => 'popular']);

Передача других данных запроса

Вы можете передать POST, GET, COOKIE и другие данные в запрос, используя соответствующие ключи. Куки могут быть переданы с помощью ключа cookies. Параметры GET могут быть установлены с помощью ключа query, а данные POST могут быть отправлены с помощью ключа post.

$vars = $this->requestAction('/articles/popular', [
  'query' => ['page' => 1],
  'cookies' => ['remember_me' => 1],
]);

Отправка значений среды или заголовков

По умолчанию действия, отправленные с помощью этого метода, будут использовать значения глобальных переменных $_SERVER и $_ENV. Если вы хотите переопределить эти значения для действия запроса, вы можете указать их значения:

$vars = $this->requestAction('/articles/popular', [
  'environment' => ['CONTENT_TYPE' => 'application/json']
]);

Передача сессии

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

$vars = $this->requestAction('/articles/popular', [
  'session' => new Session($someSessionConfig)
]);

Параметры

string|array $url

Строковый или массивный URL. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные аргументы в параметре $url.

array $extra необязательный []

Если массив содержит ключ "return", он устанавливает autoRender в true. Также может использоваться для отправки данных GET/POST и передачи аргументов.

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

mixed

Логическое значение true или false при успехе/неуспехе или содержимое отрисованного действия, если в $extra установлен ключ 'return'.


Методы, используемые из Cake\View\ViewVarsTrait

createView()source public

createView( string|null $viewClass null )

Создаёт экземпляр класса представления на основе текущей конфигурации.

Параметры

string|null $viewClass необязательный null
Необязательное именованное пространство имён класса View для создания экземпляра.

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

Cake\View\View

Выбрасывает

Cake\View\Exception\MissingViewException
Если класс представления не был найден.

set()source public

set( string|array $name , string|array|null|boolean $value null )

Сохраняет переменную или ассоциативный массив переменных для использования внутри шаблона.

Параметры

string|array $name
Строка или массив данных.
string|array|null|boolean $value необязательный null

Значение в случае, если $name является строкой (которая затем работает как ключ). Не используется, если $name является ассоциативным массивом, в противном случае служит значениями для ключей $name.

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


$this

viewBuilder()source public

viewBuilder( )

Получить используемый генератор представлений.

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

Cake\View\ViewBuilder
END_OF_DOCUMENT_MARKER

viewOptions()source public

viewOptions( string|array|null $options null , boolean $merge true )

Получение/установка допустимых параметров представления в свойстве _validViewOptions объекта. Свойство создается как пустой массив, если оно не задано. Если вызывается без параметров, возвращает текущий список допустимых параметров представления. См. createView().

Параметры

строка|массив|null $options необязательно null
строка или массив строк, которые будут добавлены к _validViewOptions.
булево $merge необязательно true

Следует ли объединить или переопределить существующие допустимые параметры представления. По умолчанию true.

Возвращает

массив
Обновленные параметры представления в виде массива.

© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
http://api.cakephp.org/3.2/class-Cake.Controller.ErrorController.html

Spec-Zone.ru

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