yii中的独立操作一般在哪些场景下使用?

WBOY
發布: 2016-07-06 13:51:35
原創
862 人瀏覽過

请问这种独立于控制器的操作一般哪些情况下才会用到?我想了好久都没有发现实际开发中哪里会这样用到(而且我觉得这样会导致两个控制器之间产生偶合)


独立操作

独立操作通过继承yiibaseAction或它的子类来定义。
例如Yii发布的yiiwebViewAction和yiiwebErrorAction都是独立操作。

要使用独立操作,需要通过控制器中覆盖yiibaseController::actions()方法在action
map中申明,如下例所示:

public function actions() {

<code>return [
    // 用类来申明"error" 操作
    'error' => 'yii\web\ErrorAction',

    // 用配置数组申明 "view" 操作
    'view' => [
        'class' => 'yii\web\ViewAction',
        'viewPrefix' => '',
    ],
]; } 如上所示, actions() 方法返回键为操作ID、值为对应操作类名或数组configurations 的数组。 和内联操作不同,独立操作ID可包含任意字符,只要在actions() 方法中申明.
</code>
登入後複製
登入後複製

为创建一个独立操作类,需要继承yiibaseAction 或它的子类,并实现公有的名称为run()的方法, run()
方法的角色和操作方法类似,例如:

use yiibaseAction;

class HelloWorldAction extends Action {

<code>public function run()
{
    return "Hello World";
}</code>
登入後複製
登入後複製

}

回复内容:

请问这种独立于控制器的操作一般哪些情况下才会用到?我想了好久都没有发现实际开发中哪里会这样用到(而且我觉得这样会导致两个控制器之间产生偶合)


独立操作

独立操作通过继承yiibaseAction或它的子类来定义。
例如Yii发布的yiiwebViewAction和yiiwebErrorAction都是独立操作。

要使用独立操作,需要通过控制器中覆盖yiibaseController::actions()方法在action
map中申明,如下例所示:

public function actions() {

<code>return [
    // 用类来申明"error" 操作
    'error' => 'yii\web\ErrorAction',

    // 用配置数组申明 "view" 操作
    'view' => [
        'class' => 'yii\web\ViewAction',
        'viewPrefix' => '',
    ],
]; } 如上所示, actions() 方法返回键为操作ID、值为对应操作类名或数组configurations 的数组。 和内联操作不同,独立操作ID可包含任意字符,只要在actions() 方法中申明.
</code>
登入後複製
登入後複製

为创建一个独立操作类,需要继承yiibaseAction 或它的子类,并实现公有的名称为run()的方法, run()
方法的角色和操作方法类似,例如:

use yiibaseAction;

class HelloWorldAction extends Action {

<code>public function run()
{
    return "Hello World";
}</code>
登入後複製
登入後複製

}

yii2自带的验证码就是典型的使用实例

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板