Class yii\rest\IndexAction
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 | 
属性详情
数据过滤器,用于搜索过滤条件组合。 您必须明确设置此字段才能启用过滤器处理。 例如:
[
    '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');
    },
]
PHP 回调,用于返回一个包含了所查找模型数据集合的数据提供器(Data Provider), 如果未设置,默认为 prepareDataProvider() 方法。 这个回调的形式如下:
function (IndexAction $action) {
    // $action 当前运行的动作对象
}
这个回调应当返回 yii\data\ActiveDataProvider 的实例。
如果设置了 $dataFilter 属性 ,yii\data\DataFilter::build() 的结果将作为第二个参数传递给回调。 在这种情况下,这个回调的形式如下:
function (IndexAction $action, mixed $filter) {
    // $action 当前运行的动作对象
    // $filter 建立的过滤条件
}
方法详情
准备包含了所查找模型数据集合的数据提供器。
| protected yii\data\ActiveDataProvider prepareDataProvider() | 
| public yii\data\ActiveDataProvider run() |