yii2 建立模組modules

2022-03-30 13:04:06 字數 2037 閱讀 2651

方案一:如果模組兒較少,不用專門給模組兒目錄定義別名,醬紫做就ok啦。

1、在專案根目錄下面建立乙個modules目錄。

2、進入 gii : http://localhost/basic/web/index.php?r=gii 

假如我現在需要生成乙個 report 的模組兒,可以按如下填寫:

modules中就ok啦。

如果需要訪問的話,路由為:http://localhost/basic/web/index.php?r=report/default/index

report 為模組兒名,default為控制器名,index為方法名

方案二:如果模組兒很多,建意給每個模組兒單獨定義乙個別名,

方法:1、我們可以先建立乙個common目錄,在 common中建立乙個bootstrap.php檔案,當然也可以自定義。

2、在common\bootstrap.php中新增如下別名:

yii::setalias('report', dirname(__dir__) . '/modules/report'); 

//看清楚哦,上面的別名定義可是沒有 @ 符號的哦,因為我們要把它當成模組兒的根目錄,模組其實也是乙個獨立的軟體單元,它包含 模型, 檢視, 控制器 和其他支援的元件。 在許多方面上,模組看起來像乙個 應用,所以我們可以把它暫時看成乙個應用

3、在 入口檔案 index.php 中新增一行:

defined('yii_debug') or define('yii_debug', true);  //

標識應用是否應用在除錯模式

defined('yii_env') or define('yii_env', 'dev'); //

標識應用執行的環境

require(__dir__ . '/../vendor/autoload.php'); //

註冊 composer 自動載入器

require(__dir__ . '/../vendor/yiisoft/yii2/yii.php'); //

包含 yii 類檔案require(__dir__ . '/../common/bootstrap.php');//

這就是我們自己新增的檔案了

$config = require(__dir__ . '/../config/web.php'); //

載入應用配置

把它放到入口檔案中,系統啟動時就會被載入,那麼此時 report 就相於$_server['document_root']\modules\report的路徑啦,模組兒中的命名空間都可以以 report開頭

例如,此時的 modules\report\module.php 的命名空間就是 namespace report

<?phpnamespace report;

/*** report module definition class */

class module extends

\yii\base\module

}

控制的 命名空間也是 namespace report\controllers

namespace report\controllers;

useyii\web\controller;/**

* default controller for the `report` module */

class defaultcontroller extends

controller

}

Yii2建立modules方法

yii2本身支援建立版本分支,這裡面有些坑需要記錄一下 在模組下的main.php檔案return的陣列中直接新增 第一種方式 aliases frontend modules modules class module 第二種方式 modules v1 v1模組 class frontend mod...

YII2新建模組

yii2支援多模組開發,需要在根目錄下建立modules資料夾 資料夾下包含需要建立的模組,如user,admin等 以user模組為例 資料夾內包括controllers,models,views三個資料夾和乙個usermodule模組類 該模組類繼承自module類,包含乙個公共init方法,包...

yii2 框架使用gii工具建立模組

在main local.php檔案中加入以下 來配置模組 判斷在開發模式下開啟gii和debug工具 if yii env test 瀏覽器輸入gii位址,開啟gii工具 建立模組 在配置檔案中加入新建模組的配置 modules 支付模組 payment 預設模組路徑 frontend module...