1、在根目錄下面創建modules文件夾
這個modules文件夾裏面所有都是你所須要的模塊
例如:創建admin模塊,文件夾目錄以下:
php
2、adminModule.php文件夾的內容:web
<?php namespace app\modules\admin; use Yii; class adminModule extends \yii\base\Module{ public function init(){ //聲明佈局文件 $this->layout = 'admin'; parent::init(); } }
3、配置文件web.phpapp
'components' => [ 'user' => [ 'identityClass' => 'app\models\User', 'enableAutoLogin' => true, ], 'admin' => [ 'class' => 'yii\web\User', 'identityClass' => 'app\modules\admin\models\AdminUser', 'enableAutoLogin' => true, 'loginUrl'=>['/admin/manage/login'],//定義後臺默認登陸界面[權限不足跳到該頁] 'identityCookie' => ['name' => '__admin_identity', 'httpOnly' => true], 'idParam' => '__admin' ], ], 'modules' => [ 'admin' => [ 'class'=>'app\modules\admin\adminModule', ], ],
這種配置在運用時候命名空間得寫appmodulesadmin等等
4、簡化命名空間長度
一、在入口文件index.php獲取config後面加入yii
Yii::setAlias('@modules', dirname(__DIR__).'/modules');
二、在配置文件裏面修改ide
'aliases' => [ '@admin'=>'@modules/admin' ], 'modules' => [ 'admin' => [ 'class'=>'admin\adminModule', ], ],
不要忘記修改components裏面的admin
經過以上代碼就能夠admin裏面直接用admin的命名空間啦
5、登陸的用法邏輯和前臺同樣。
用的時候:
Yii::$app->admin->isGuest
Yii::$app->admin->identity->nickname
將user換爲admin便可佈局