本文實(shí)例講述了YII2框架中actions的作用與使用方法。分享給大家供大家參考,具體如下:
我們常在控制器中看到一個(gè)actions的方法,這個(gè)方法具體的作用是共用一些功能相同的action,方便調(diào)用。
當(dāng)然我們也可以自已寫(xiě)一些action來(lái)進(jìn)行調(diào)用。在項(xiàng)目目錄下創(chuàng)建common目錄,并創(chuàng)建TestAction.php文件。action文件的存放路徑可以隨意指定。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<?php //注意這里的命名空間,要跟你的目錄對(duì)應(yīng) namespace app\common; use yii\base\Action; //我們需要繼承yii\base\Action類(lèi) class TestAction extends Action { //這里面的三個(gè)參數(shù)的值是通過(guò)控制器actions中配置而來(lái)的 public $param1 = null; public $param2 = null; public $param3 = null; //實(shí)現(xiàn)run方法 public function run() { echo "test run param1: {$this->param1} param2: {$this->param2} param3: {$this->param3}" ; } } |
控制器代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<?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' => '!!!' , ], ]; } } |
這樣我們?cè)诘刂窓诰涂梢酝ㄟ^(guò)/index/test來(lái)訪問(wèn)調(diào)用了。
原文鏈接:https://www.cnblogs.com/jkko123/p/8669728.html