2

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

我希望这个服务提供在它自己的命名空间下。

Path\To\My\AwesomeServiceProvider

我应该把这门课放在哪里?通常我会删除一个自定义类

app/models

但是,在 after执行app/models之前不会添加为自动加载源。app/start/global.php这对于服务提供商来说为时已晚,因为所有服务提供商都在bootstrap/start.php.

有没有一种方法可以创建服务提供者,而无需将类放在作曲家的vendor文件夹中或与你的类图一起composer.json玩?

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

(对于不可避免的“你为什么不只是”,我想避免作曲家的原因是我试图找出 Laravel 服务提供者所需的最低限度的代码和配置)

4

1 回答 1

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

于 2014-09-11T20:40:19.033 回答