Spec-Zone.ru › CakePHP 3.1

Класс 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

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

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

beforeRendersource public

beforeRender( Cake\Event\Event $event )

Обработчик перед рендерингом.

Параметры

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

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

Cake\Controller\Controller::beforeRender()

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

__getsource public

__get( string $name )

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

Параметры

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

Возвращает

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

__setsource public

__set( string $name , mixed $value )

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

Параметры

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

_loadComponentssource protected

_loadComponents( )

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

_mergeControllerVarssource protected

_mergeControllerVars( )

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

_viewPathsource protected

_viewPath( )

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

Возвращает

string
строка

afterFiltersource public

afterFilter( Cake\Event\Event $event )

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

Параметры

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

Возвращает

Cake\Network\Response|null
\Cake\Network\Response|null

Ссылка

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

beforeFiltersource public

beforeFilter( Cake\Event\Event $event )

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

Параметры

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

Возвращает

Cake\Network\Response|null
\Cake\Network\Response|null

Ссылка

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

beforeRedirectsource 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
\Cake\Network\Response|null

Ссылка

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

componentssource public

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

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

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

Параметры

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

Возвращает

Cake\Controller\ComponentRegistry
\Cake\Controller\ComponentRegistry

implementedEventssource public

implementedEvents( )

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

Возвращает

array
массив

Реализация

Cake\Event\EventListenerInterface::implementedEvents()

initializesource public

initialize( )

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

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

invokeActionsource public

invokeAction( )

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

Возвращает

mixed
Результирующий ответ.

Выбрасывает

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

isActionsource public

isAction( string $action )

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

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

Параметры

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

Возвращает

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

loadComponentsource public

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

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

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

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

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

Параметры

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

Возвращает

Cake\Controller\Component
\Cake\Controller\Component

paginatesource 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#Controller::paginate

redirectsource public

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

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

Параметры

строка|массив $url
Строка или массив, представляющий URL, указывающий на другую локацию в приложении или абсолютный URL.
целое число $status необязательно 302
Код HTTP-статуса (например: 301)

Возвращает

Cake\Network\Response|null
\Cake\Network\Response|null

Ссылка

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

referersource public

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

Возвращает URL-адрес, направивший на текущий запрос.

Параметры

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

Возвращает

string
Ссылка на URL

rendersource public

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

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

Параметры

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

Возвращает

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

Ссылка

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

setActionsource public

setAction( string $action )

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

Примеры:

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

Параметры

строка $action
Новое действие, на которое происходит «перенаправление». Все остальные параметры, переданные в этот метод, будут переданы в качестве параметров новому действию.

Возвращает

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

setRequestsource 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
Экземпляр запроса.

shutdownProcesssource public

shutdownProcess( )

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

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

Возвращает

Cake\Network\Response|null
\Cake\Network\Response|null

startupProcesssource public

startupProcess( )

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

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

Возвращает

Cake\Network\Response|null
\Cake\Network\Response|null

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

dispatchEventsource public

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

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

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

Параметры

строка $name
Название события.
массив|null $data необязательно null
Любое значение, которое вы хотите передать с этим событием, чтобы оно могло быть прочитано обработчиками.
объект|null $subject необязательно null
Объект, к которому относится это событие ($this по умолчанию).

Возвращает

Cake\Event\Event
\Cake\Event\Event

Реализация

Cake\Event\EventDispatcherInterface::dispatchEvent()

eventManagersource public

eventManager( Cake\Event\EventManager $eventManager null )

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

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

Параметры

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

Возвращает

Cake\Event\EventManager
\Cake\Event\EventManager

Реализация

Cake\Event\EventDispatcherInterface::eventManager()

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

tableLocatorsource public

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

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

Параметры

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

Возвращает

Cake\ORM\Locator\LocatorInterface
\Cake\ORM\Locator\LocatorInterface

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

logsource public

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

Удобный метод для записи сообщения в журнал. Подробнее о записи в журналы см. Log::write().

Параметры

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

Возвращает

boolean
Результат записи в журнал.
END_OF_DOCUMENT_MARKER

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

_mergePropertysource protected

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

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

Параметры

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

_mergePropertyDatasource protected

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

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

Параметры

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

Возвращает

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

_mergeVarssource protected

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

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

Параметры:

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

Параметры

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

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

_setModelClasssource protected

_setModelClass( string $name )

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

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

Параметры

строка $name
Имя класса.

loadModelsource public

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

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

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

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

Параметры

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

Возвращает

object
Созданный экземпляр модели.

Исключение

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

modelFactorysource public

modelFactory( string $type , callable $factory )

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

Параметры

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

modelTypesource public

modelType( string|null $modelType null )

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

Параметры

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

Возвращает

string|$this
$this

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

requestActionsource 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. Если вы хотите переопределить эти значения для request action, вы можете указать значения:

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

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

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

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

Параметры

строка|массив $url
Строка или массив-URL. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные аргументы в параметре $url.
массив $extra необязательно []
Если массив включает ключ "return", он устанавливает autoRender в true. Также может использоваться для отправки данных GET/POST и передачи аргументов.

Возвращает

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

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

createViewsource public

createView( string|null $viewClass null )

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

Параметры

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

Возвращает

Cake\View\View
\Cake\View\View

Исключение

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

setsource public

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

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

Параметры

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

Возвращает

mixed
$this

viewBuildersource public

viewBuilder( )

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

Возвращает

Cake\View\ViewBuilder
\Cake\View\ViewBuilder

viewOptionssource public

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

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

Параметры

строка|массив|null $options необязательно null
строка или массив строк, которые нужно добавить в _validViewOptions.
булево $merge необязательно true
Объединять или перезаписывать существующие допустимые параметры представления. По умолчанию true.

Возвращает

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

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

$Viewsource

public Cake\View\View

Экземпляр представления, созданного во время рендеринга. Не будет установлен до вызова Controller::render().

Устарело

3.1.0 Используйте viewBuilder() вместо этого.

$_componentssource

protected Cake\Controller\ComponentRegistry

Экземпляр ComponentRegistry, используемый для создания компонентов.

null

$_responseClasssource

protected string

Имя класса, используемого для создания объекта ответа.

'Cake\Network\Response'

$_validViewOptionssource

protected array

Эти свойства контроллера будут переданы от контроллера к представлению в качестве опций.

См.

Cake\View\View
[
    'passedArgs'
]

$autoRendersource

public boolean

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

true

$componentssource

public array

Массив, содержащий имена компонентов, используемых этим контроллером. Имена компонентов не должны содержать часть "Component" имени класса.

Пример:

public $components = ['RequestHandler', 'Acl'];

Ссылка

http://book.cakephp.org/3.0/ru/controllers/components.html
[]

$helperssource

public array

Массив, содержащий имена помощников, используемых этим контроллером. Элементы массива не должны содержать часть "Helper" имени класса.

Пример:

public $helpers = ['Form', 'Html', 'Time'];

Ссылка

http://book.cakephp.org/3.0/ru/controllers.html#configuring-helpers-to-load
[]

$namesource

public string

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

Автоматически устанавливается с помощью соглашений в Controller::__construct().

null

$paginatesource

public array

Настройки для пагинации.

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

См.

Cake\Controller\Component\PaginatorComponent
[]

$passedArgssource

public array

Содержит все переданные параметры.

Устарело

3.1.0 Используйте $this->request->params['pass'] вместо этого.
[]

$pluginsource

public string

Автоматически устанавливается в имя плагина.

null

$requestsource

public Cake\Network\Request

Экземпляр объекта Cake\Network\Request, содержащий информацию о текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для считывания дополнительной информации о запросе.

Ссылка

http://book.cakephp.org/3.0/ru/controllers/request-response.html#request

$responsesource

public Cake\Network\Response

Экземпляр объекта Response, содержащий информацию о предстоящем ответе.

Ссылка

http://book.cakephp.org/3.0/ru/controllers/request-response.html#response

Свойства, используемые из Cake\Event\EventDispatcherTrait

$_eventClasssource

protected string

Имя по умолчанию класса для новых объектов событий.

'\Cake\Event\Event'

$_eventManagersource

protected Cake\Event\EventManager

Экземпляр Cake\Event\EventManager, используемый этим объектом для отправки внутренних событий.

null

Свойства, используемые из Cake\ORM\Locator\LocatorAwareTrait

$_tableLocatorsource

protected Cake\ORM\Locator\LocatorInterface

Экземпляр локатора таблиц.

Свойства, используемые из Cake\Datasource\ModelAwareTrait

$_modelFactoriessource

protected array

Список функций-фабрик моделей.

[]

$_modelTypesource

protected string

Тип модели, который следует использовать.

'Table'

$modelClasssource

public string

Основное имя класса модели этого объекта. Должно быть в форме множественного числа. CakePHP не будет изменять имя.

Пример: для объекта с именем 'Комментарии', modelClass будет 'Комментарии'. Классы плагинов должны использовать имена типа Plugin.Comments для правильной загрузки моделей из соответствующего плагина.

Свойства, используемые из Cake\View\ViewVarsTrait

$_viewBuildersource

protected Cake\View\ViewBuilder

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

$viewClasssource

public string

Имя класса представления по умолчанию.

Устарело

3.1.0 Используйте $this->viewBuilder()->className() вместо него.
null

$viewVarssource

public array

Переменные для представления

[]

Магические свойства, унаследованные от Cake\Controller\Controller

$Authsource

public Cake\Controller\Component\AuthComponent

$Cookiesource

public Cake\Controller\Component\CookieComponent

$Csrfsource

public Cake\Controller\Component\CsrfComponent

$Flashsource

public Cake\Controller\Component\FlashComponent

$Paginatorsource

public Cake\Controller\Component\PaginatorComponent

$RequestHandlersource

public Cake\Controller\Component\RequestHandlerComponent

$Securitysource

public Cake\Controller\Component\SecurityComponent

© 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.1/class-Cake.Controller.ErrorController.html

Spec-Zone.ru

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