YII2.0多模塊配置

使用YII2.0的時候我們有時候可能需要這種需求,比如前臺有自己的模塊,後臺有自己的模塊,在細分的話用戶也

有自己的模塊,訂單也有自己的模塊。所以我們需要把功能模塊化,這裏就需要配置多模塊了。yii2.0給我們提供gii可以很方便幫我們生成模塊出來,接下來就來擼一把。先查看我們的gii是否有配置,打開yii2.0的配置文件查看gii配置如下:

$config['modules']['gii'] = [
        'class' => 'yii\gii\Module',
        //指定那些IP可以訪問gii,如果註釋掉所有ip都可以訪問
        'allowedIPs' => ['127.0.0.1', '::1','192.168.1.41'],
    ];

輸入127.0.1.1/項目/web/index.php?r=gii,我這裏是http://localhost/yiibasic/web/index.php?r=gii即可訪問gii界面如下:
這裏寫圖片描述
我們點擊Module Generator,訪問生成模塊頁面如下:
這裏寫圖片描述
我們填寫下模塊的類,模塊id如圖:
這裏寫圖片描述
填寫好生成如圖:
這裏寫圖片描述
然後把畫紅圈的地方複製,配置到yii2.0的配置文件裏面modules數組裏面,如下:

   'modules' => [
        //後臺模塊
        'admin' => [
            'class' => 'app\modules\admin',
        ],
        //訂單模塊,剛新加的
        'oindex' => [
            'class' => 'app\order\oindex',
        ],
    ],

然後在yii2.0的目錄下也能看見生成模塊的模塊目錄:
這裏寫圖片描述
現在我們可以訪問下該模塊試試,http://localhost/yiibasic/web/index.php?r=oindex/default/index
顯示如圖正常成功:
這裏寫圖片描述
如果想訪問模型還需要在該模塊下新建一個模型文件夾,因爲目前只有控制器文件夾,視圖文件夾,這裏我們在order目錄新建一個模型文件夾(models)和一個模型文件(Admin.php),模型文件內容如下:

<?php
//該模型的命名空間
namespace app\order\models;
use yii\db\ActiveRecord;
use yii;


/**
 * 後臺登錄模型
 */
class Admin extends ActiveRecord
{

    public static function tableName()
    {
        return "{{%admin}}";
    }

    public function getData()
    {
        return $this->find()->asArray()->all();
    }
}

我們在默認控制器寫如下代碼:

<?php

namespace app\order\controllers;

use yii\web\Controller;
use app\order\models\Admin;

/**
 * Default controller for the `oindex` module
 */
class DefaultController extends Controller
{
    /**
     * Renders the index view for the module
     * @return string
     */
    public function actionIndex()
    {
        $admin = new Admin();
        print_r($admin->getData());
    }
}

訪問 http://localhost/yiibasic/web/index.php?r=oindex/default/index,即可顯示該模型對於的數據表所有字段內容(注意:必須要配置好數據庫,然後新建一張admin表,至於字段多少無所謂)。到這裏,添加多模塊就全都完成

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