没有命名空间的类 yii yii\base yii\behaviors yii\caching yii\captcha yii\console yii\console\controllers yii\console\widgets yii\data yii\db yii\db\conditions yii\db\cubrid yii\db\cubrid\conditions yii\db\mssql yii\db\mssql\conditions yii\db\mysql yii\db\oci yii\db\oci\conditions yii\db\pgsql yii\db\sqlite yii\db\sqlite\conditions yii\di yii\filters yii\filters\auth yii\grid yii\helpers yii\i18n yii\log yii\mail yii\mutex yii\rbac yii\rest yii\test yii\validators yii\web yii\widgets

Class yii\rest\Controller

继承yii\rest\Controller » yii\web\Controller » yii\base\Controller » yii\base\Component » yii\base\BaseObject
实现yii\base\Configurable, yii\base\ViewContextInterface
子类yii\rest\ActiveController
可用版本自2.0
源码 https://github.com/yiichina/yii2/blob/api/framework/rest/Controller.php

Controller 是 RESTful API 控制器类的基类。

Controller 在 RESTful API 请求处理周期中实现以下步骤:

  1. 处理响应格式(参见 yii\filters\ContentNegotiator);
  2. 验证请求方法(参见 verbs());
  3. 验证用户 (参见 yii\filters\auth\AuthInterface);
  4. 速率限制 (参见 yii\filters\RateLimiter);
  5. 格式化响应数据(参见 serializeData())。

关于 Controller 的更多使用参考,请查看 Rest 控制器指南

公共属性

隐藏继承的属性

属性类型描述被定义在
$action yii\base\Action The action that is currently being executed. yii\base\Controller
$actionParams array The parameters bound to the current action. yii\web\Controller
$behaviors yii\base\Behavior[] List of behaviors attached to this component yii\base\Component
$defaultAction string The ID of the action that is used when the action ID is not specified in the request. yii\base\Controller
$enableCsrfValidation boolean Whether to enable CSRF validation for the actions in this controller. yii\rest\Controller
$id string The ID of this controller. yii\base\Controller
$layout null|string|false The name of the layout to be applied to this controller's views. yii\base\Controller
$module yii\base\Module The module that this controller belongs to. yii\base\Controller
$modules yii\base\Module[] All ancestor modules that this controller is located within. yii\base\Controller
$route string The route (module ID, controller ID and action ID) of the current request. yii\base\Controller
$serializer string|array Serializer 的配置,用于格式化响应数据。 yii\rest\Controller
$uniqueId string The controller ID that is prefixed with the module ID (if any). yii\base\Controller
$view yii\base\View|yii\web\View The view object that can be used to render views or view files. yii\base\Controller
$viewPath string The directory containing the view files for this controller. yii\base\Controller

公共方法

隐藏继承的方法

方法描述被定义在
__call() Calls the named method which is not a class method. yii\base\Component
__clone() This method is called after the object is created by cloning an existing one. yii\base\Component
__construct() yii\base\Controller
__get() Returns the value of a component property. yii\base\Component
__isset() Checks if a property is set, i.e. defined and not null. yii\base\Component
__set() Sets the value of a component property. yii\base\Component
__unset() Sets a component property to be null. yii\base\Component
actions() Declares external actions for the controller. yii\base\Controller
afterAction() This method is invoked right after an action is executed. yii\rest\Controller
asJson() Send data formatted as JSON. yii\web\Controller
asXml() Send data formatted as XML. yii\web\Controller
attachBehavior() Attaches a behavior to this component. yii\base\Component
attachBehaviors() Attaches a list of behaviors to the component. yii\base\Component
beforeAction() This method is invoked right before an action is executed. yii\base\Controller
behaviors() Returns a list of behaviors that this component should behave as. yii\rest\Controller
bindActionParams() Binds the parameters to the action. yii\base\Controller
canGetProperty() Returns a value indicating whether a property can be read. yii\base\Component
canSetProperty() Returns a value indicating whether a property can be set. yii\base\Component
className() Returns the fully qualified name of this class. yii\base\BaseObject
createAction() Creates an action based on the given action ID. yii\base\Controller
detachBehavior() Detaches a behavior from the component. yii\base\Component
detachBehaviors() Detaches all behaviors from the component. yii\base\Component
ensureBehaviors() Makes sure that the behaviors declared in behaviors() are attached to this component. yii\base\Component
findLayoutFile() Finds the applicable layout file. yii\base\Controller
getBehavior() Returns the named behavior object. yii\base\Component
getBehaviors() Returns all behaviors attached to this component. yii\base\Component
getModules() Returns all ancestor modules of this controller. yii\base\Controller
getRoute() Returns the route of the current request. yii\base\Controller
getUniqueId() Returns the unique ID of the controller. yii\base\Controller
getView() Returns the view object that can be used to render views or view files. yii\base\Controller
getViewPath() Returns the directory containing view files for this controller. yii\base\Controller
goBack() Redirects the browser to the last visited page. yii\web\Controller
goHome() Redirects the browser to the home page. yii\web\Controller
hasEventHandlers() Returns a value indicating whether there is any handler attached to the named event. yii\base\Component
hasMethod() Returns a value indicating whether a method is defined. yii\base\Component
hasProperty() Returns a value indicating whether a property is defined for this component. yii\base\Component
init() Initializes the object. yii\base\BaseObject
off() Detaches an existing event handler from this component. yii\base\Component
on() Attaches an event handler to an event. yii\base\Component
redirect() Redirects the browser to the specified URL. yii\web\Controller
refresh() Refreshes the current page. yii\web\Controller
render() Renders a view and applies layout if available. yii\base\Controller
renderAjax() Renders a view in response to an AJAX request. yii\web\Controller
renderContent() Renders a static string by applying a layout. yii\base\Controller
renderFile() Renders a view file. yii\base\Controller
renderPartial() Renders a view without applying layout. yii\base\Controller
run() Runs a request specified in terms of a route. yii\base\Controller
runAction() Runs an action within this controller with the specified action ID and parameters. yii\base\Controller
setView() Sets the view object to be used by this controller. yii\base\Controller
setViewPath() Sets the directory that contains the view files. yii\base\Controller
trigger() Triggers an event. yii\base\Component

受保护的方法

隐藏继承的方法

方法描述被定义在
serializeData() 序列化指定的数据。 默认的实现是通过 $serializer 属性指定的配置创建一个序列化类, 然后用这个序列化类序列化指定的数据。 yii\rest\Controller
verbs() 声明允许的 HTTP verbs(HTTP 动词)。 有关如何声明允许的动词,参考 yii\filters\VerbFilter::$actions yii\rest\Controller

Events

隐藏继承的事件

事件类型描述被定义在
EVENT_AFTER_ACTION yii\base\ActionEvent An event raised right after executing a controller action. yii\base\Controller
EVENT_BEFORE_ACTION yii\base\ActionEvent An event raised right before executing a controller action. yii\base\Controller

属性详情

$enableCsrfValidation 公共 属性

Whether to enable CSRF validation for the actions in this controller. CSRF validation is enabled only when both this property and yii\web\Request::$enableCsrfValidation are true.

$serializer 公共 属性

Serializer 的配置,用于格式化响应数据。

public string|array $serializer 'yii\rest\Serializer'

方法详情

afterAction() 公共 方法

This method is invoked right after an action is executed.

The method will trigger the EVENT_AFTER_ACTION event. The return value of the method will be used as the action return value.

If you override this method, your code should look like the following:

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

The action just executed.

$result mixed

The action return result.

return mixed

The processed action result.

behaviors() 公共 方法

Returns a list of behaviors that this component should behave as.

Child classes may override this method to specify the behaviors they want to behave as.

The return value of this method should be an array of behavior objects or configurations indexed by behavior names. A behavior configuration can be either a string specifying the behavior class or an array of the following structure:

'behaviorName' => [
    'class' => 'BehaviorClass',
    'property1' => 'value1',
    'property2' => 'value2',
]

Note that a behavior class must extend from \yii\rest\Behavior. Behaviors can be attached using a name or anonymously. When a name is used as the array key, using this name, the behavior can later be retrieved using getBehavior() or be detached using detachBehavior(). Anonymous behaviors can not be retrieved or detached.

Behaviors declared in this method will be attached to the component automatically (on demand).

public array behaviors()
return array

The behavior configurations.

serializeData() 受保护 方法

序列化指定的数据。 默认的实现是通过 $serializer 属性指定的配置创建一个序列化类, 然后用这个序列化类序列化指定的数据。

protected mixed serializeData($data)
$data mixed

要序列化的数据。

return mixed

已序列化的数据。

verbs() 受保护 方法

声明允许的 HTTP verbs(HTTP 动词)。 有关如何声明允许的动词,参考 yii\filters\VerbFilter::$actions

protected array verbs()
return array

被允许的HTTP 动词。