一、在根目录下面建立modules文件夹
这个modules文件夹里面全部都是你所需要的模块
例如:建立admin模块,文件夹目录如下:
二、adminModule.php文件夹的内容:
<?php
namespace app\modules\admin;
use Yii;
class adminModule extends \yii\base\Module{
public function init(){
//声明布局文件
$this->layout = 'admin';
parent::init();
}
}
三、配置文件web.php
'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等等
四、简化命名空间长度
1、在入口文件index.php获取config后面加入
Yii::setAlias('@modules', dirname(__DIR__).'/modules');
2、在配置文件里面修改
'aliases' => [
'@admin'=>'@modules/admin'
],
'modules' => [
'admin' => [
'class'=>'admin\adminModule',
],
],
不要忘记修改components里面的admin
通过以上代码就可以admin里面直接用admin的命名空间啦
五、登录的用法逻辑和前台一样。
用的时候:
Yii::$app->admin->isGuest
Yii::$app->admin->identity->nickname
将user换为admin即可