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

WBOY
Freigeben: 2016-07-06 13:51:35
Original
837 Leute haben es durchsucht

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


独立操作

独立操作通过继承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>
Nach dem Login kopieren
Nach dem Login kopieren

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

use yiibaseAction;

class HelloWorldAction extends Action {

<code>public function run()
{
    return "Hello World";
}</code>
Nach dem Login kopieren
Nach dem Login kopieren

}

回复内容:

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


独立操作

独立操作通过继承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>
Nach dem Login kopieren
Nach dem Login kopieren

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

use yiibaseAction;

class HelloWorldAction extends Action {

<code>public function run()
{
    return "Hello World";
}</code>
Nach dem Login kopieren
Nach dem Login kopieren

}

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!