📅  最后修改于: 2020-10-23 08:08:36             🧑  作者: Mango
Laravel合同是框架的一组接口,具有各种功能和核心服务。
例如, Illuminate \ Contracts \ Queue \ Queue合同使用排队作业所需的方法, Illuminate \ Contracts \ Mail \ Mailer使用该方法发送电子邮件。
定义的每个合同都包含框架的相应实现。如下所述,所有Laravel合同均可在GitHub存储库中获得-
https://github.com/illuminate/contracts
该存储库提供了Laravel框架中可用的各种合同,可以相应地下载和使用。
使用Laravel合同时,请注意以下要点-
必须在类的构造函数中定义外观。
合同是在类中明确定义的,您无需在构造函数中定义合同。
考虑下面提到的Laravel中用于授权的合同-
合同使用一个函数罐,该函数罐包含一个名为能力的参数和参数,这些参数以数组的形式使用用户标识。
您将必须定义合同,如以下语法所示:
interface
合同就像立面一样用于创建健壮的,经过良好测试的Laravel应用程序。合同和外墙的使用存在各种实际差异。
以下代码显示了使用协定来缓存存储库-
cache = $cache;
}
}
合同不包含任何实现和新的依赖关系;编写指定合同的替代实现很容易,因此用户可以在不修改任何代码库的情况下替换缓存实现。