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