首页后端开发其他后端知识laravel中的repository模式使用方法是什么?

laravel中的repository模式使用方法是什么?

时间2024-03-25 14:04:03发布访客分类其他后端知识浏览1505
导读:今天就跟大家聊聊有关“laravel中的repository模式使用方法是什么?”的内容,可能很多人都不太了解,为了让大家更加了解“laravel中的repository模式使用方法是什么?”,小编给大家总结了以下内容,希望这篇文章能帮助大...
今天就跟大家聊聊有关“laravel中的repository模式使用方法是什么?”的内容,可能很多人都不太了解,为了让大家更加了解“laravel中的repository模式使用方法是什么?”,小编给大家总结了以下内容,希望这篇文章能帮助大家,下面我们一起来了解看看吧。


什么是Repository模式,laravel学院中用这样一张图来解释

编码过程当中 解耦一直是个较为热门的话题。 使用MVC设计模式开发的时候,如果需要查询数据库/操作数据库的时候就得直接引用模型,调用模型。按照常规的调用方法直接以下所示,不使用Eloquent ORM就没法操作数据库,那么就是ORM和这个控制器有着非常之大的耦合性。

$position =  Position::createPosition($params);
    
$position->
    users()->
    attach($userParams);
    
$position->
    permissions()->
    attach($permissionParams);
    

控制器方面应该是只有返回相关的 不会包含任何逻辑的代码,所以为了解耦我们就该引用repository设计模式。

repository 需要的开发层面

首先我们需要定义一个接口

?php
 
namespace App\Http\Repositories\Interfaces;
    
use App\Http\Repositories\Interfaces\BaseRepositoryInterface;

interface UserRepositoryInterface extends BaseRepositoryInterface
{

}
    

可以自己先构造一个基层的BaseInterface来封装常用并且基本的操作模型的方法,创建好接口之后开始绑定repository来进行实现该接口

?php
 
namespace App\Http\Permission\Repositories\Eloquent;
    
use App\Http\Repositories\Eloquent\EloquentBaseRepository;
    
use App\Http\Permission\Repositories\Interfaces\UserRepositoryInterface;

class UserRepository extends EloquentBaseRepository implements UserRepositoryInterface
{

}
    

创建好之后需要在ServiceProvider当中注册并绑定该接口,保证与模型层有相关联。

 $this->
    app->
bind(UserRepositoryInterface::class,function (){
    
            return new UserRepository(new User);

        }
    );
    

绑定好之后就可以创建service之后使用构造函数来将该interface注入到其中 就可以书写逻辑以及相关编码了。



现在大家对于laravel中的repository模式使用方法是什么?的内容应该都清楚了吧,希望大家阅读完这篇文章能有所收获。最后,想要了解更多laravel中的repository模式使用方法是什么?的知识,欢迎关注网络,网络将为大家推送更多相关知识的文章。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: laravel中的repository模式使用方法是什么?
本文地址: https://pptw.com/jishu/652827.html
vue和react的数据流的不同在哪 用PHP怎么样实现翻译功能,方法是什么?

游客 回复需填写必要信息