YII2之創建模塊

創建模塊有以下步驟:

步驟1:

    在yii框架的根目錄新建一個目錄modules,當然也可以使用其他命名。


    在modules目錄中,再創建三個controllers、models、views目錄,用來放什麼的就不用說了。最重要的是下面這個Admin.php類文件。

<?php

namespace app\modules;

use yii\base\Module;

class Admin extends Module
{
    public $controllerNamespace='app\modules\controllers';
    public function init(){
        parent::init();
    }
}
    該類文件可以聲明接下來在該模塊中使用的控制器的命名命名空間,如果不聲明的話,默認是按照該類聲明時使用的命名空間+controllers,例如 app\modules\controllers。init函數是爲了初始化模塊屬性代碼,必須被覆蓋重寫。

步驟2:

    創建了模塊文件後,就必須在/config/web.php文件中添加模塊參數。

    'modules'=>[
        'admin'=>[
            'class'=>'app\modules\Admin'
        ]
    ]

也就是向$config變量中添加了modules參數,即$config['modules']['admin'],其中admin是在路由中進行訪問的模塊id, class是指定模塊初始化文件的路徑,這裏使用的命名空間的訪問方法。

步驟3:

在剛纔創建的目錄中,即\modules\controllers創建TestController控制器


TestController代碼:

<?php
/** Date: 18-5-15 Time: 下午8:01*/
namespace app\modules\controllers;

use yii\web\Controller;

class TestController extends Controller{
    public function actionTest(){
        $this->layout=false;
        return $this->render('test');
    }
}

其中$this->layout是禁用該視圖使用佈局,若不禁用的話,該視圖將使用默認視圖中的佈局,即\views\layout\main.php

然後在視圖文件中,創建對應的視圖文件

test.php代碼:

<?php
/** Date: 18-5-15 Time: 下午8:02*/
echo "this is test";

步驟4:

訪問模塊中的控制器

按照   模塊/控制器/方法來訪問,在此例中就是modules/test/test

所以訪問的路由是:localhost?r=module/test/test


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章