我的印象是你在这里混合了概念。我将尝试澄清它们,以便您了解其中的区别。
andersao/l5-repository 包旨在帮助 Laravel 开发人员使用存储库模式,即software design pattern。
这是来自 Microsoft ASP.NET 文档的存储库模式的解释/定义(摘自文章 Repository pattern with ASP.NET Core):
存储库模式是一种将数据访问隔离在接口抽象之后的设计模式。连接到数据库和操作数据存储对象是通过接口实现提供的方法来执行的。因此,无需调用代码来处理数据库问题,例如连接、命令和读取器。
更简单地说,正如twoflower 在one of his answers 中解释的那样:
基本上,存储库隐藏了数据是如何从数据库中提取/保存到数据库的详细信息。幕后:
存储库模式在您的应用程序中添加了一个抽象层。来自Abstraction layer Wikipedia article:
在计算中,抽象层或抽象级别是一种隐藏特定功能集的实现细节的方法 [...]。
那么抽象层没有理由知道或信任他范围之外的数据。这就是为什么最好验证进入层的数据。
andersao/l5-repository 包包含一个验证器,用于验证传递到存储库的数据。要使用此验证器,请编写“验证器类”。
“表单请求验证”是一种使用 Laravel 框架验证传入请求的方法。它旨在验证来自 HTTP 请求的数据。
所以两者都是为验证数据而设计的,但在你的 Laravel 应用程序中处于不同的级别。