晨雨零稀

1236 经验值

jwt跟laravel版本还有关系?我用的tymon/jwt-auth,还没看是否兼容。

好多都剪掉了,不连贯,但保留了关键的地方,觉得也可以了,否则太长。

哈哈,没有办法,这个地方特色,从小也不注意这方面,口音就是不太纯正,本人表示同情jelly三秒钟,因为本人的口音可能jelly还要差!

简单的说,一个类内部需要用到另一个类,这就是依赖。比如一个用户模型UserModel,获取所有用户的方法是getAllUser(),一般都是通过调用DB类来实现的,它内部可能是这样子:return new DB()->query("select * ...")。这时我们就说UserModel是依赖于DB的,它们之间存在依赖关系。

上边的代码就是没用到依赖注入,若要用上,一般可使用set的方式或构造时候注入。比如在UserModel内部放一个属性db存储DB的实例,并为DB定义一个接口DBInterface,并在UserModel的构造中要求传入一个DBInterface的实例赎给db属性。这样getAllUser()就可能是这样return $this->db->query("select *...")。

这样做有什么好处?比如换了数据库,只需要新建一个DB2类实现DBInterface,注入的时候注入DB2的实例即可,UserModel内部的代码是不需要动的。若是原来的方式,UserModel内部多处都是直接new DB(),就得一一找出来改为new DB2(),很麻烦。

这里也是很好的参考:http://www.digpage.com/di.html

个人的力量毕竟是渺小的