当前位置:Gxlcms > PHP教程 > [laravel]如何在laravel中使用RepositoryPattern(仓库模式)

[laravel]如何在laravel中使用RepositoryPattern(仓库模式)

时间:2021-07-01 10:21:17 帮助过:14人阅读

Repository 模式主要思想是建立一个数据操作代理层,把controller里的数据操作剥离出来,这样做有几个好处:

  • 把数据处理逻辑分离使得代码更容易维护
  • 数据处理逻辑和业务逻辑分离,可以对这两个代码分别进行测试减少代码重复
  • 降低代码出错的几率
  • 让controller代码的可读性大大提高
  • 建立相应的文件夹

    在 app 文件夹里新建文件夹 Repositories,我们的相关代码都会放到这个文件夹里。然后在这个文件夹里新建一个 Interfaces 文件夹,用来放接口。

    建立一个接口

    在上面的Interfaces目录新建一个文件UserInterface.php

        

    建立一个接口对应的实现

        

    这里是接口的实现定义你的业务逻辑

    在ServiceProvider中绑定接口

    打开app/Providers/AppServiceProvider, 在register()加入代码:

    app->bind('App\Repositories\Interfaces\UserInterface', 'App\Repositories\UserRepository'    );}} 

    ServiceProvider 是 Laravel IOC 容器实现动态换接口实现的地方,所以我们在这里绑定一下,这样我们在使用的时候,不直接使用接口实现,而是用 ioc 容器解析接口,它会帮你自动找到对应好的实现。 这就意味着,以后需要更换实现,可以在这里更换。

    使用仓库

    User = $User;} public function qqlogin(Request $request){ $user_id=$request->id;  $user = $this->User->get_user($user_id);}} 

    在这里使用了依赖注入

    人气教程排行