方案一:如果模組兒較少,不用專門給模組兒目錄定義別名,醬紫做就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); //把它放到入口檔案中,系統啟動時就會被載入,那麼此時 report 就相於$_server['document_root']\modules\report的路徑啦,模組兒中的命名空間都可以以 report開頭。標識應用是否應用在除錯模式
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'); //
載入應用配置
例如,此時的 modules\report\module.php 的命名空間就是 namespace report
<?phpnamespace report;控制的 命名空間也是 namespace report\controllers/*** report module definition class */
class module extends
\yii\base\module
}
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...