首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Symfony 4自动更新不使用根命名空间

Symfony 4自动更新不使用根命名空间
EN

Stack Overflow用户
提问于 2018-06-11 07:59:42
回答 1查看 0关注 0票数 0

按标准,所有的东西都放在下面App命名空间。所以如果我有这样的结构TestControllerpublic function xxx(TestInterface $test);一切正常运转。

代码语言:txt
复制
-src
 -Core
  -TestInterface (App\Core)
 -Api
  -Controller
   -TestController (App\Api\Controller)
 -Domain
  -Service
   -TestService implements TestInterface (App\Domain\Service)

现在的问题是我的项目没有App前缀。我的结构是这样的:

代码语言:txt
复制
-src
 -Core
  -TestInterface (Core)
 -Api
  -Controller
   -TestController (Api\Controller)
 -Domain
  -Service
   -TestService implements TestInterface (Domain\Service)

json

代码语言:txt
复制
"autoload": {
    "psr-4": {
        "": "src/"
    }
},

服务.yaml

代码语言:txt
复制
Core\:
    resource: '../src/Core/*'
    exclude: '../src/Core/{Entity,Migrations,Tests,Kernel.php}'

Domain\:
    resource: '../src/Domain/*'
    exclude: '../src/Domain/{Entity,Migrations,Tests,Kernel.php}'

Api\Controller\:
    resource: '../src/Api/Controller'
    tags: ['controller.service_arguments']

最有趣的是,几乎所有的东西都很好用,包括依赖注入,只要我使用直接的类名称空间。只有通过界面才能找到不起作用的东西。

这样做是可行的:public function xxx(TestService $test)

这不管用:public function xxx(TestInterface $test)

以下是错误:

代码语言:txt
复制
Cannot resolve argument $test of "Api\Controller\TestController::xxx()":
Cannot autowire service ".service_locator.EcpiaYx": it references interface "Core\TestInterface" but no such service exists.
You should maybe alias this interface to the existing "Domain\TestService" service.
EN

Stack Overflow用户

发布于 2018-06-11 17:50:45

如果我完全理解,这个问题与App命名空间,实际上,所有这些都按预期的方式工作。如果必须添加App前缀:

代码语言:txt
复制
    "autoload": {
        "psr-4": {
            "App\\": "src/" # <--- virtually mapping
        }
    },

正如错误中所述,只需键入提示您的接口,并将其与服务类混叠在一起:

代码语言:txt
复制
Domain\Service\TestService:
Core\TestInterface: '@Domain\Service\TestService'

然后每次引用该接口

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100004840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档