>백엔드 개발 >PHP 튜토리얼 >yii中的独立操作一般在哪些场景下使用?

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

WBOY
WBOY원래의
2016-07-06 13:51:35885검색

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


独立操作

独立操作通过继承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自带的验证码就是典型的使用实例

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.