laravel 5:服务和提供者目录的目的是什么

时间:2015-04-02 12:44:44

标签: laravel laravel-5

我目前正在使用提供者目录下的Repository方法为laravel5工作。但是,我完全不了解服务目录以及此目录的目的。

任何人都可以通过区分差异来举例来利用这些目录。

2 个答案:

答案 0 :(得分:4)

服务http://laravel.com/docs/5.0/structure
Services目录包含各种" helper"您的应用程序需要运行的服务。例如,Laravel附带的注册商服务负责验证和创建应用程序的新用户。其他示例可能是与外部API,指标系统甚至是从您自己的应用程序聚合数据的服务进行交互的服务。

<强>提供商
Providers目录基本上是将自定义文件与app绑定,例如,如果我们想使用存储库模式并在模型中使用eloquent而不是write查询,那么我们需要将我们的存储库与服务提供者绑定并将服务提供者注册到config中/app.php文件。

答案 1 :(得分:4)

<强>服务

服务是不属于控制器的可重用类。例如,多个控制器(例如用于构建站点导航的类)所需的服务。这是一个放置“全局”类(全局到您的应用程序)的好地方,可以将其注入控制器以便在整个应用程序中使用。

<强>提供商

提供者将服务注入依赖注入系统,使其更容易在整个应用程序中访问。特定于Laravel的软件包通常包括服务提供程序,它可确保在需要时为控制器加载软件包类。