你在哪里可以在Laravel中放置服务提供商类?

时间:2014-09-11 19:27:42

标签: php laravel service-provider

我想在Laravel中创建一个服务器提供程序。

我希望提供此服务以在其自己的命名空间下生效。

Path\To\My\AwesomeServiceProvider

我应该把这堂课放在哪里?通常我会在

中删除自定义类
app/models

但是,在app/models执行之后,app/start/global.php才会添加为自动加载源。这对服务提供商来说太晚了,因为所有服务提供商都在bootstrap/start.php注册。

有没有办法创建服务提供者而不将该类放在作曲家的vendor文件夹中,或者用你的composer.json类图谱进行编辑?

换句话说,Laravel是否会在加载bootstrap/start.php之前自动加载类,而不需要额外的编写器配置。

(对于不可避免的“你为什么不这样做”,我想避开作曲家的原因是我正试图找出Laravel中服务提供商所需的最低代码和配置)

1 个答案:

答案 0 :(得分:1)

你不需要修改供应商内部的任何东西。 您只需要为项目的composer.json中的新类或目录定义一种可能的自动加载类型。

https://getcomposer.org/doc/04-schema.md#autoload

作为替代,你可以直接使用自动加载的普通php实现 https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader-examples.md