查看我的应用程序结构的以下部分:
App
-Events
-Http
--Controllers
---Rest
-Services
--Base
--Primary
我想做的是对所有服务使用命名空间AppServices
,对所有控制器使用命名空间AppHttpController
。
这是我的应用程序加载 Composer 的方式:
"autoload": {
"psr-4": {
"App\": "app/"
} }
这是我得到的异常:
(1/1( 致命可抛掷错误类"应用\服务\功能服务"不是 发现
CapabilityService
肯定存在,但它在子文件夹中 Primary
.有没有办法将文件从子目录自动加载到一个命名空间中?如果是,如何以及是否有任何重要理由不这样做?
这是功能服务:
namespace AppServices;
这是位置:
App/Services/Primary/CapabilityService
Nvm 我想通了 - 只需在 composer.json
内做数组,您可以在其中指定所有子文件夹:
"autoload": {
"psr-4": {
"App\": "app/",
"App\Services\": ["app/services","app/services/base","app/services/primary"],
"App\Models\": ["app/models","app/models/traits"],
"App\Http\Controllers\": ["app/http/controllers","app/http/controllers/base","app/http/controllers/rest","app/http/controllers/rest/base"]
},
更好的解决方案仍然受欢迎。