我正在尝试以这样一种方式构建我的应用程序,即我的所有模型都将位于一个专用目录中(在我的案例中为Classified)。我使用Laravel应用程序目录创建了该目录,并将其添加到我的composer.json文件中。下面是我的composer.json文件的结构:
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"Classified''": "app/",
"Classified''": "app/Classified"
}
},
然后,我在终端中运行composer dump autoload,但在第29行的./composer.json中,我一直得到"Key Classified''是重复的"当我尝试在浏览器中查看我的应用程序时,我得到了:
致命错误:在第736行的/home/farranget/Workspace/codulabproducts/classified/vendor/laraavel/framework/src/IIlluminate/Container/Contaner.php中,出现未捕获的异常"ReflectionException",消息为"Class App''Http''Kernel不存在"。
我的composer.json文件中的第29行是
"Classified''": "app/Classified"
我不知道哪里做错了,因为我在另一个项目中遵循了这些步骤,一切都很顺利。
可以为命名空间前缀定义多个目录。但在这种情况下,密钥的值必须是列表,而不是字符串(请参阅文档中的第二个示例):
{
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"Classified''": ["app/", "app/Classified"]
}
}
}
在psr-4映射中不能有重复的键。它应该为给定的命名空间定义根文件夹,而一个命名空间不能有多个根。
删除Classified''命名空间的一个映射。