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

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


独立操作

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

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

public function actions() {

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

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

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

<?php namespace appcomponents;

use yiibaseAction;

class HelloWorldAction extends Action {

public function run()
{
    return "Hello World";
}

}

阅读 4.8k
2 个回答

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

新手上路,请多包涵

看了很久,结果发现跟权威指南的一模一样

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题