Spec-Zone.ru › Yii 2.0

Класс yii\base\Controller

Все классы | Свойства | Методы | События
Наследование yii\base\Controller » yii\base\Component » yii\base\Object
Реализует yii\base\Configurable, yii\base\ViewContextInterface
Подклассы yii\apidoc\commands\ApiController, yii\apidoc\commands\GuideController, yii\apidoc\components\BaseController, yii\console\Controller, yii\console\controllers\AssetController, yii\console\controllers\BaseMigrateController, yii\console\controllers\CacheController, yii\console\controllers\FixtureController, yii\console\controllers\HelpController, yii\console\controllers\MessageController, yii\console\controllers\MigrateController, yii\console\controllers\ServeController, yii\debug\controllers\DefaultController, yii\debug\controllers\UserController, yii\faker\FixtureController, yii\gii\console\GenerateController, yii\gii\controllers\DefaultController, yii\mongodb\console\controllers\MigrateController, yii\rest\ActiveController, yii\rest\Controller, yii\shell\ShellController, yii\web\Controller
Доступен с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/base/Controller.php

Controller — базовый класс для классов, содержащих логику контроллера.

Для получения дополнительной информации и использования контроллера, см. статью руководства по контроллерам.

Публичные свойства

Свойство Тип Описание Определено в
$action yii\base\Action Действие, которое выполняется в настоящее время. yii\base\Controller
$behaviors yii\base\Behavior[] Список прикрепленных к этому компоненту поведений. yii\base\Component
$defaultAction string Идентификатор действия, используемого, когда идентификатор действия не указан в запросе. yii\base\Controller
$id string Идентификатор этого контроллера. yii\base\Controller
$layout null|string|false Имя макета, применяемого к представлениям этого контроллера. yii\base\Controller
$module yii\base\Module Модуль, к которому принадлежит этот контроллер. yii\base\Controller
$modules yii\base\Module[] Все родительские модули, в которых находится этот контроллер. yii\base\Controller
$route string Маршрут (идентификатор модуля, идентификатор контроллера и идентификатор действия) текущего запроса. yii\base\Controller
$uniqueId string Идентификатор контроллера, который предваряется идентификатором модуля (если есть). yii\base\Controller
$view yii\base\View|yii\web\View Объект представления, который можно использовать для рендеринга представлений или файлов представлений. yii\base\Controller
$viewPath string Директория, содержащая файлы представлений для этого контроллера. yii\base\Controller

Публичные методы

Метод Описание Определено в
__call() Вызывает именованный метод, который не является методом класса. yii\base\Object
__clone() Этот метод вызывается после создания объекта путем клонирования существующего. yii\base\Component
__construct() yii\base\Controller
__get() Возвращает значение свойства объекта. yii\base\Object
__isset() Проверяет, установлено ли свойство, т.е. определено и не равно null. yii\base\Object
__set() Устанавливает значение свойства объекта. yii\base\Object
__unset() Устанавливает свойство объекта в null. yii\base\Object
actions() Объявляет внешние действия для контроллера. yii\base\Controller
afterAction() Этот метод вызывается сразу после выполнения действия. yii\base\Controller
attachBehavior() Присоединяет поведение к данному компоненту. yii\base\Component
attachBehaviors() Присоединяет список поведений к компоненту. yii\base\Component
beforeAction() Этот метод вызывается непосредственно перед выполнением действия. yii\base\Controller
behaviors() Возвращает список поведений, которые этот компонент должен демонстрировать. yii\base\Component
bindActionParams() Связывает параметры с действием. yii\base\Controller
canGetProperty() Возвращает значение, указывающее, можно ли считать свойство. yii\base\Object
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Object
className() Возвращает полное квалифицированное имя этого класса. yii\base\Object
createAction() Создает действие на основе заданного идентификатора действия. yii\base\Controller
detachBehavior() Отсоединяет поведение от компонента. yii\base\Component
detachBehaviors() Отсоединяет все поведения от компонента. yii\base\Component
ensureBehaviors() Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. yii\base\Component
findLayoutFile() Находит соответствующий файл макета. yii\base\Controller
getBehavior() Возвращает объект именованного поведения. yii\base\Component
getBehaviors() Возвращает все присоединённые к этому компоненту поведения. yii\base\Component
getModules() Возвращает все родительские модули этого контроллера. yii\base\Controller
getRoute() Возвращает маршрут текущего запроса. yii\base\Controller
getUniqueId() Возвращает уникальный идентификатор контроллера. yii\base\Controller
getView() Возвращает объект представления, который можно использовать для рендеринга представлений или файлов представлений. yii\base\Controller
getViewPath() Возвращает каталог, содержащий файлы представлений для этого контроллера. yii\base\Controller
hasEventHandlers() Возвращает значение, указывающее, есть ли какой-либо обработчик, присоединенный к заданному событию. yii\base\Component
hasMethod() Возвращает значение, указывающее, определен ли метод. yii\base\Object
hasProperty() Возвращает значение, указывающее, определено ли свойство. yii\base\Object
init() Инициализирует объект. yii\base\Object
off() Отсоединяет существующий обработчик событий от этого компонента. yii\base\Component
on() Присоединяет обработчик событий к событию. yii\base\Component
render() Рендерит представление и применяет макет, если он доступен. yii\base\Controller
renderContent() Рендерит статическую строку, применяя макет. yii\base\Controller
renderFile() Рендерит файл представления. yii\base\Controller
renderPartial() Рендерит представление без применения макета. yii\base\Controller
run() Выполняет запрос, указанный в терминах маршрута. yii\base\Controller
runAction() Выполняет действие внутри этого контроллера с заданным идентификатором действия и параметрами. yii\base\Controller
setView() Устанавливает объект представления, который будет использоваться этим контроллером. yii\base\Controller
setViewPath() Устанавливает каталог, содержащий файлы представлений. yii\base\Controller
trigger() Вызывает событие. yii\base\Component

События

Событие Тип Описание Определено в
EVENT_AFTER_ACTION yii\base\ActionEvent Событие, срабатывающее сразу после выполнения действия контроллера. yii\base\Controller
EVENT_BEFORE_ACTION yii\base\ActionEvent Событие, срабатывающее непосредственно перед выполнением действия контроллера. yii\base\Controller

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

$action общедоступное свойство

Действие, которое в настоящее время выполняется. Это свойство будет установлено методом run(), когда оно вызывается yii\base\Application для выполнения действия.

public yii\base\Action $action = null

$defaultAction общедоступное свойство

Идентификатор действия, используемый, когда идентификатор действия не указан в запросе. По умолчанию равен 'index'.

public string $defaultAction = 'index'

$id общедоступное свойство

Идентификатор этого контроллера.

public string $id = null

$layout общедоступное свойство

Имя макета, применяемого к представлениям этого контроллера. Это свойство в основном влияет на поведение метода render(). По умолчанию равно null, что означает, что фактическое значение макета должно наследоваться от значения макета $module. Если false, макет не будет применяться.

public null|string|false $layout = null

$module общественное свойство

Модуль, к которому принадлежит этот контроллер.

public yii\base\Module $module = null

$modules общественное только для чтения свойство

Все родительские модули, в которых находится этот контроллер.

public yii\base\Module[] getModules ( )

$route общественное только для чтения свойство

Маршрут (ID модуля, ID контроллера и ID действия) текущего запроса.

public string getRoute ( )

$uniqueId общественное только для чтения свойство

Идентификатор контроллера, который префиксется идентификатором модуля (если таковой имеется).

public string getUniqueId ( )

$view общественное свойство

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

public yii\base\View|yii\web\View getView ( )
public void setView ( $view )

$viewPath общественное свойство

Директория, содержащая файлы представлений для этого контроллера.

public string getViewPath ( )
public void setViewPath ( $path )

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

__construct() public method

public void __construct ( $id, $module, $config = [] )
$id string

Идентификатор данного контроллера.

$module yii\base\Module

Модуль, к которому принадлежит данный контроллер.

$config array

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

actions() public method

Объявляет внешние действия для контроллера.

Этот метод предназначен для переопределения, чтобы объявить внешние действия для контроллера. Он должен возвращать массив, где ключи массива — идентификаторы действий, а значения — соответствующие имена классов действий или конфигурационные массивы действий. Например,

return [
    'action1' => 'app\components\Action1',
    'action2' => [
        'class' => 'app\components\Action2',
        'property1' => 'value1',
        'property2' => 'value2',
    ],
];

Yii::createObject() будет использоваться позже для создания запрошенного действия с использованием предоставленной здесь конфигурации.

public void actions ( )

afterAction() public method

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

Метод вызовет событие EVENT_AFTER_ACTION. Значение возвращаемого методом будет использовано как значение возврата действия.

Если вы переопределяете этот метод, ваш код должен выглядеть следующим образом:

public function afterAction($action, $result)
{
    $result = parent::afterAction($action, $result);
    // your custom code here
    return $result;
}
public mixed afterAction ( $action, $result )
$action yii\base\Action

Выполненное действие.

$result mixed

Результат возврата действия.

return mixed

Обработанный результат действия.

beforeAction() public method

Этот метод вызывается непосредственно перед выполнением действия.

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

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

Если вы переопределяете этот метод, ваш код должен выглядеть следующим образом:

public function beforeAction($action)
{
    // your custom code here, if you want the code to run before action filters,
    // which are triggered on the [[EVENT_BEFORE_ACTION]] event, e.g. PageCache or AccessControl

    if (!parent::beforeAction($action)) {
        return false;
    }

    // other custom code here

    return true; // or false to not run the action
}
public boolean beforeAction ( $action )
$action yii\base\Action

Действие, подлежащее выполнению.

return boolean

Должно ли действие продолжить выполнение.

bindActionParams() public method

Связывает параметры с действием.

Этот метод вызывается yii\base\Action при запуске с заданными параметрами.

public array bindActionParams ( $action, $params )
$action yii\base\Action

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

$params array

Параметры, которые должны быть связаны с действием.

return array

Действительные параметры, с которыми действие может быть выполнено.

createAction() public method

Создает действие на основе данного идентификатора действия.

Метод сначала проверяет, был ли идентификатор действия объявлен в actions(). Если да, он использует объявленную там конфигурацию для создания объекта действия. Если нет, он ищет метод контроллера, имя которого имеет формат actionXyz , где Xyz представляет идентификатор действия. Если найдено, будет создан и возвращен yii\base\InlineAction, представляющий этот метод.

public yii\base\Action|null createAction ( $id )
$id string

Идентификатор действия.

return yii\base\Action|null

Новый созданный экземпляр действия. Null, если идентификатор не разрешается в какое-либо действие.

findLayoutFile() public method

Находит соответствующий файл макета.

public string|boolean findLayoutFile ( $view )
$view yii\base\View

Объект представления для отображения файла макета.

return string|boolean

Путь к файлу макета или false, если макет не требуется. Обратитесь к render() для указания этого параметра.

throws yii\base\InvalidParamException

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

getModules() public method

Возвращает все родительские модули этого контроллера.

Первый модуль в массиве — самый внешний (т.е. экземпляр приложения), последний — самый внутренний.

public yii\base\Module[] getModules ( )
return yii\base\Module[]

Все родительские модули, в которых находится данный контроллер.

getRoute() public method

Возвращает маршрут текущего запроса.

public string getRoute ( )
return string

Маршрут (идентификатор модуля, идентификатор контроллера и идентификатор действия) текущего запроса.

getUniqueId() public method

Возвращает уникальный идентификатор контроллера.

public string getUniqueId ( )
return string

Идентификатор контроллера, который префиксруется идентификатором модуля (если таковой имеется).

getView() public method

Возвращает объект представления, который можно использовать для отображения представлений или файлов представлений.

Методы render(), renderPartial() и renderFile() будут использовать этот объект представления для реализации фактического отображения представления. Если не задано, по умолчанию используется компонент приложения "view".

public yii\base\View|yii\web\View getView ( )
return yii\base\View|yii\web\View

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

getViewPath() public method

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

Реализация по умолчанию возвращает каталог с именем контроллера $id в каталоге $module's $viewPath.

public string getViewPath ( )
return string

Каталог, содержащий файлы представлений для данного контроллера.

render() public method

Отображает представление и применяет макет, если он доступен.

Представление, которое нужно отобразить, можно указать в одном из следующих форматов:

  • псевдоним пути (например, "@app/views/site/index");
  • абсолютный путь в приложении (например, "//site/index"): имя представления начинается с двойных слешей. Фактический файл представления будет искаться в каталоге пути представления приложения.
  • абсолютный путь в модуле (например, "/site/index"): имя представления начинается с одинарной косой черты. Фактический файл представления будет искаться в каталоге пути представления модуля $module.
  • относительный путь (например, "index"): фактический файл представления будет искаться в $viewPath.

Для определения, какой макет следует применить, выполняются следующие два шага:

  1. На первом шаге определяется имя макета и контекстный модуль:
  • Если $layout указан как строка, используйте его в качестве имени макета и $module как контекстный модуль;
  • Если $layout равен null, ищите во всех родительских модулях этого контроллера и найдите первый модуль, у которого макет не равен null. Макет и соответствующий модуль используются как имя макета и контекстный модуль соответственно. Если такой модуль не найден или соответствующий макет не является строкой, будет возвращено значение false, означающее, что подходящий макет не найден.
  1. На втором шаге определяется фактический файл макета в соответствии с ранее найденным именем макета и контекстным модулем. Имя макета может быть:
  • путь алиаса (например, "@app/views/layouts/main");
  • абсолютный путь (например, "/main"): имя макета начинается с косой черты. Фактический файл макета будет искаться в пути к макетам приложения;
  • относительный путь (например, "main"): фактический файл макета будет искаться в пути к макетам контекстного модуля.

Если имя макета не содержит расширения файла, будет использовано стандартное расширение .php.

public строка render ( $view, $params = [] )
$view строка

Имя представления.

$params массив

Параметры (имя-значение), которые должны быть доступны в представлении. Эти параметры не будут доступны в макете.

return строка

Результат рендеринга.

throws yii\base\InvalidParamException

если файл представления или файл макета не существует.

renderContent() общедоступный метод (доступен с версии 2.0.1)

Отображает статическую строку, применяя макет.

public строка renderContent ( $content )
$content строка

Статическая строка, отображаемая

return строка

Результат рендеринга макета со статической строкой в качестве $content переменной. Если макет отключен, строка будет возвращена обратно.

renderFile() общедоступный метод

Отображает файл представления.

public строка renderFile ( $file, $params = [] )
$file строка

Файл представления для отображения. Может быть как путем к файлу, так и путем алиаса.

$params массив

Параметры (имя-значение), которые должны быть доступны в представлении.

return строка

Результат рендеринга.

throws yii\base\InvalidParamException

если файл представления не существует.

renderPartial() общедоступный метод

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

Этот метод отличается от render() тем, что не применяет макет.

public строка renderPartial ( $view, $params = [] )
$view строка

Имя представления. См. render() для уточнения способов указания имени представления.

$params массив

Параметры (имя-значение), которые должны быть доступны в представлении.

return строка

Результат рендеринга.

throws yii\base\InvalidParamException

если файл представления не существует.

run() общедоступный метод

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

Маршрут может быть либо идентификатором действия в этом контроллере, либо полным маршрутом, состоящим из идентификаторов модулей, контроллера и действия. Если маршрут начинается с косой черты '/', анализ маршрута начнется с приложения; в противном случае он начнется с родительского модуля этого контроллера.

См. также runAction().

public смешанный тип run ( $route, $params = [] )
$route строка

Маршрут для обработки, например, 'view', 'comment/view', '/admin/comment/view'.

$params массив

Параметры, передаваемые действию.

return смешанный тип

Результат действия.

runAction() общедоступный метод

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

Если идентификатор действия пустой, метод использует $defaultAction.

См. также createAction().

public смешанный тип runAction ( $id, $params = [] )
$id строка

Идентификатор действия, подлежащего выполнению.

$params массив

Параметры (имя-значение), передаваемые действию.

return смешанный тип

Результат действия.

throws yii\base\InvalidRouteException

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

setView() общедоступный метод

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

public void setView ( $view )
$view yii\base\View|yii\web\View

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

setViewPath() общедоступный метод (доступен с версии 2.0.7)

Устанавливает каталог, содержащий файлы представлений.

public void setViewPath ( $path )
$path строка

Корневой каталог файлов представлений.

throws yii\base\InvalidParamException

если каталог некорректен

Подробности событий

EVENT_AFTER_ACTION событие типа yii\base\ActionEvent

Событие, срабатывающее сразу после выполнения действия контроллера.

EVENT_BEFORE_ACTION событие типа yii\base\ActionEvent

Событие, срабатывающее непосредственно перед выполнением действия контроллера. Вы можете установить yii\base\ActionEvent::$isValid в false, чтобы отменить выполнение действия.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-base-controller.html

Spec-Zone.ru

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