yii2:模塊php
模塊不一樣於frontend/frontback單獨的先後臺單獨的主題項目,模塊不能單獨部署,必須屬於某個應用主體(如先後臺:frontend/frontback)。web
模塊置於module目錄下,以demo爲例:yii2
模塊文件大體如上圖,app
modules/ demo/ controllers/DefaultController.php views/default/index.php DemoModule.php
一、配置:frontend
將模塊配置到config/web.php的文件配置中去,在配置文件中新增代碼:yii
'modules' => [ 'demo' => [ 'class' => 'app\modules\demo\DemoModule', ], ],
DemoModule.php:
DemoModule文件繼承module類,並定於命名空間:
namespace app\modules\demo; /** * demo module definition class */ class DemoModule extends \yii\base\Module { /** * @inheritdoc */ public $controllerNamespace = 'app\modules\demo\controllers'; /** * @inheritdoc */ public function init() { parent::init(); // custom initialization code goes here } }
DefaultController.php文件
DefaultController.php首頁要定於命名空間:namespace app\modules\demo(模塊名)\controllers;
namespace app\modules\demo\controllers; use Yii; use yii\web\Controller; //use app\compon /** * Default controller for the `demo` module */ class DefaultController extends Controller { /** * Renders the index view for the module * @return string */ public function actionIndex() { echo "hello";exit; } }
訪問地址:xxx.com/demo(模塊名)/default/indexspa