是否可以使用没有composer dump-autoload的laravel?

时间:2014-08-20 19:38:53

标签: php laravel directory

因为我创建了一个其他文件夹结构而不是标准的laravel文件夹结构,所以每当我在cms图层中创建一个新的控制器时我都要做composer dump-autoload,在app层中它将能够找到该控制器没有composer dump-autoload。 有可能删除它,让它总是找到我正在寻找的控制器? 感谢

我的文件夹结构是这样的:

doc root\
---- app
-------- controller
-------- views

---- cms
-------- controller
-------- views

---- public
---- vendor

1 个答案:

答案 0 :(得分:3)

如果您不想在每次添加新文件(例如控制器)时都运行composer dump-autoload,则需要使用PSR-4自动加载。

在名为app的{​​{1}}中创建一个新文件夹。在该文件夹中,您可以创建更多文件夹AcmeControllers

现在,您可以使用PSR-4自动加载编辑您的作曲家文件,方法是将其添加到Models部分:

autoload

编辑文件后,您需要运行"psr-4": { "Acme\\": "app/Acme" } (您只需要执行一次,而不是在composer dump-autoload文件夹中添加新文件后)。

现在您可以自由添加要使用的文件。您需要记住的唯一重要事项是在每个文件的开头使用Acme。因此,如果您在名为namespace Acme\Path\To\File;的{​​{1}}内添加控制器,则需要它像这样:

Acme\Controllers

详细了解名称空间here