没有命名空间的类 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\IndexAction

继承yii\rest\IndexAction » yii\rest\Action » yii\base\Action » yii\base\Component » yii\base\BaseObject
实现yii\base\Configurable
可用版本自2.0
源码 https://github.com/yiichina/yii2/blob/api/framework/rest/IndexAction.php

IndexAction 实现一个 API 端点,用于返回模型列表。

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

公共属性

隐藏继承的属性

属性类型描述被定义在
$behaviors yii\base\Behavior[] List of behaviors attached to this component yii\base\Component
$checkAccess callable PHP 回调,会在此时被调用:在判断当前用户是否有此动作 的运行权限。如果不设置,默认权限检查不执行。 这个回调的形式如下, `php function ($action, $model = null) { // $model 请求的模型实例。 // 如果为 Null,意味着没有特别的模型对象(比如 IndexAction) } ` yii\rest\Action
$controller yii\base\Controller|yii\web\Controller|yii\console\Controller 拥有此操作的控制器 yii\base\Action
$dataFilter yii\data\DataFilter|null 数据过滤器,用于搜索过滤条件组合。 您必须明确设置此字段才能启用过滤器处理。 例如: `php [ 'class' => 'yii\data\ActiveDataFilter', 'searchModel' => function () { return (new \yii\base\DynamicModel(['id' => null, 'name' => null, 'price' => null])) ->addRule('id', 'integer') ->addRule('name', 'trim') ->addRule('name', 'string') ->addRule('price', 'number'); }, ] ` yii\rest\IndexAction
$findModel callable PHP 回调,用于返回相应的模型实例, 基于所给的主键值。如果不设置此属性,默认是调用 findModel() 方法。 这个回调的形式如下: `php function ($id, $action) { // $id 主键值。 如果是复合主键, // 则为逗号分隔的键值。 // $action 当前在运行的动作对象 } ` 这个回调应当返回查找出的模型实例,如果找不到则抛出异常。 yii\rest\Action
$id string 动作的 ID yii\base\Action
$modelClass string 模型的类名,用于在这个动作中处理数据。 此模型类必须继承 yii\db\ActiveRecordInterface。 此属性必设置 yii\rest\Action
$prepareDataProvider callable PHP 回调,用于返回一个包含了所查找模型数据集合的数据提供器(Data Provider), 如果未设置,默认为 prepareDataProvider() 方法。 这个回调的形式如下: `php function (IndexAction $action) { // $action 当前运行的动作对象 } 这个回调应当返回 [[ActiveDataProvider]] 的实例。 如果设置了 [[dataFilter]] 属性 ,[[DataFilter::build()]] 的结果将作为第二个参数传递给回调。 在这种情况下,这个回调的形式如下: php function (IndexAction $action, mixed $filter) { // $action 当前运行的动作对象 // $filter 建立的过滤条件 } ` yii\rest\IndexAction
$uniqueId string 整个应用程序中此操作的唯一 ID。 yii\base\Action

公共方法

隐藏继承的方法

方法描述被定义在
__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\Action
__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
attachBehavior() Attaches a behavior to this component. yii\base\Component
attachBehaviors() Attaches a list of behaviors to the component. yii\base\Component
behaviors() Returns a list of behaviors that this component should behave as. yii\base\Component
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
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
findModel() 返回有数据的模型类,根据所给的主键值。 如果数据没有找到,会抛出一个 404 HTTP 异常。 yii\rest\Action
getBehavior() Returns the named behavior object. yii\base\Component
getBehaviors() Returns all behaviors attached to this component. yii\base\Component
getUniqueId() 返回整个应用程序中此动作的唯一 ID。 yii\base\Action
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\rest\Action
off() Detaches an existing event handler from this component. yii\base\Component
on() Attaches an event handler to an event. yii\base\Component
run() yii\rest\IndexAction
runWithParams() 使用指定的参数运行此动作。 该方法主要由控制器调用。 yii\base\Action
trigger() Triggers an event. yii\base\Component

受保护的方法

隐藏继承的方法

方法描述被定义在
afterRun() 执行 run() 后立即调用此方法。 您可以重写此方法以对动作运行执行后处理工作。 yii\base\Action
beforeRun() 在执行 run() 之前调用此方法。 您可以重写此方法来为动作运行做准备工作。 如果该方法返回 false,将取消该动作。 yii\base\Action
prepareDataProvider() 准备包含了所查找模型数据集合的数据提供器。 yii\rest\IndexAction

属性详情

$dataFilter 公共 属性 (自版本 2.0.13 可用)

数据过滤器,用于搜索过滤条件组合。 您必须明确设置此字段才能启用过滤器处理。 例如:

[
    'class' => 'yii\data\ActiveDataFilter',
    'searchModel' => function () {
        return (new \yii\base\DynamicModel(['id' => null, 'name' => null, 'price' => null]))
            ->addRule('id', 'integer')
            ->addRule('name', 'trim')
            ->addRule('name', 'string')
            ->addRule('price', 'number');
    },
]

参见 yii\data\DataFilter.

$prepareDataProvider 公共 属性

PHP 回调,用于返回一个包含了所查找模型数据集合的数据提供器(Data Provider), 如果未设置,默认为 prepareDataProvider() 方法。 这个回调的形式如下:

function (IndexAction $action) {
    // $action 当前运行的动作对象
}

这个回调应当返回 yii\data\ActiveDataProvider 的实例。

如果设置了 $dataFilter 属性 ,yii\data\DataFilter::build() 的结果将作为第二个参数传递给回调。 在这种情况下,这个回调的形式如下:

function (IndexAction $action, mixed $filter) {
    // $action 当前运行的动作对象
    // $filter 建立的过滤条件
}

方法详情

prepareDataProvider() 受保护 方法

准备包含了所查找模型数据集合的数据提供器。

protected yii\data\ActiveDataProvider prepareDataProvider()
run() 公共 方法

public yii\data\ActiveDataProvider run()