因为我创建了一个其他文件夹结构而不是标准的laravel文件夹结构,所以每当我在cms图层中创建一个新的控制器时我都要做composer dump-autoload
,在app层中它将能够找到该控制器没有composer dump-autoload
。
有可能删除它,让它总是找到我正在寻找的控制器?
感谢
我的文件夹结构是这样的:
doc root\
---- app
-------- controller
-------- views
---- cms
-------- controller
-------- views
---- public
---- vendor
答案 0 :(得分:3)
如果您不想在每次添加新文件(例如控制器)时都运行composer dump-autoload
,则需要使用PSR-4自动加载。
在名为app
的{{1}}中创建一个新文件夹。在该文件夹中,您可以创建更多文件夹Acme
和Controllers
。
现在,您可以使用PSR-4自动加载编辑您的作曲家文件,方法是将其添加到Models
部分:
autoload
编辑文件后,您需要运行"psr-4": {
"Acme\\": "app/Acme"
}
(您只需要执行一次,而不是在composer dump-autoload
文件夹中添加新文件后)。
现在您可以自由添加要使用的文件。您需要记住的唯一重要事项是在每个文件的开头使用Acme
。因此,如果您在名为namespace Acme\Path\To\File;
的{{1}}内添加控制器,则需要它像这样:
Acme\Controllers
详细了解名称空间here。