一个 Yii + vue 项目(6)yii模型、多模块登陆

简单讲一下模型,之前介绍的AR类全称是(ActiveRecord 在yii\db\ActiveRecord)用中文描述是活动记录,是一种特殊的模型,模型呢,是 mvc 里的 m,yii的模型(yii\base\Model)内置了一些常用的处理,像场景,验证,载入数据,输出处理。。。这里就不多讲了。
再说一下 user 组件,看一下源码会发现它要求定义一个 User::identityClass 且该类要符合 IdentityInterface 接口,而且在实例化user组件的时候就会检查这个 identityClass(它写在构造函数里了),至于存储 session 的名是由 user->idParam 决定的,所以简单点多模块登陆就只要配置在 web.php 里然后在模块入口修改对应的 user->idParam 就好了。
home/module.php

namespace home;
use Yii;
class module extends \yii\base\Module
{
    public function init(){
        parent::init();
        Yii::$app->user->idParam = '_home';
    }
}

这里有个问题,假如我两个模块 login 的不是同一个模型,那么这种方法就不可取了,这个时候就需要将 user 组件的配置放在模块入口中如:

namespace home;
use Yii;
class module extends \yii\base\Module
{
    public function init(){
        parent::init();
        Yii::$app->set('user', [
            'class' => 'yii\web\User',
            'identityClass' => "home\models\User",
            'idParam' => '_home'
        ]);
    }
}

这样就实现不同的模块登陆不同的模型类。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值