YII2中actions的作用与使用

我们常在控制器中看到一个actions的方法,这个方法具体的作用是共用一些功能相同的action,方便调用。

当然我们也可以自已写一些action来进行调用。在项目目录下创建common目录,并创建TestAction.php文件。action文件的存放路径可以随意指定。

<?php

//注意这里的命名空间,要跟你的目录对应
namespace app\common;

use yii\base\Action;

//我们需要继承yii\base\Action类
class TestAction extends Action {

    //这里面的三个参数的值是通过控制器actions中配置而来的
    public $param1 = null;
    public $param2 = null;
    public $param3 = null;

    //实现run方法
    public function run() {
        echo "test run param1: {$this->param1} param2: {$this->param2} param3: {$this->param3}";
    }
}

控制器代码如下:

<?php

namespace app\controllers;

use YII;
use yii\web\Controller;

class IndexController extends Controller
{
    //actions的作用主要是共用功能相同的方法
    public function actions()
    {
        return [
            'test' => [
                'class' => 'app\common\TestAction','param1' => 'hello','param2' => 'world','param3' => '!!!',],];
    }
}

这样我们在地址栏就可以通过/index/test来访问调用了。

相关文章

1、将Yii2.0advanced版中应用主体frontend或backend应用复制...
Yii2restfulAPI文档一、配置模块:1.Config/main.php:  2...
Yii在framework/i18n/data/%lang%.php文件中有很多翻译.这...
在Yii2中,官方的页面多语言解决方案有两个:方案1,使用Yii...
Yii2.0对数据库查询的一些简单的操作1234567891011121314151...
数据查询User::find()->all();此方法返回所有数据;User:...