我觉得我已经根据关于此的大量问题/答案尝试了一百万种不同的东西......但我仍然遗漏了一些东西。 (这是一个Laravel 4项目。)
我在模型路径中添加了一个业务逻辑目录,就像app/models/businesslogic
一样
该目录中的CcGateway.php
名称为namespace BusinessLogic;
。
在我的composer.json
中,我开始尝试
"autoload": {
"classmap": [
"app/models/businesslogic"
],
在composer dump-autoload
之后,它仍会抛出:
Class' BusinessLogic \ CcGateway'找不到
所以我试过了两个
"autoload": {
"psr-4": {
"App\\models\\": "app/models"
},
和
"App\\models\\businesslogic\\": "app/models/businesslogic"
无济于事。
最后,我尝试更改名称空间(在类脚本和use
语句中,但不更改composer.json
)到Models\BusinessLogic
,但仍然没有运气。< / p>
我知道假设很容易,所以我必须忽略或误解一些简单的东西。它是什么?
答案 0 :(得分:0)
模型目录以小写(app / models / businesslogic)命名,但您的命名空间在Capital(BusinessLogic)中。尝试重命名您的目录以匹配“BusinessLogic”。
此外,您实际上不需要向classmap或PSR-4添加任何内容,因为models目录已经包含在标准classmap配置中,并且会自动拾取所有子目录。