首页 > 解决方案 > Symfony 4 - 两个目录中的控制器

问题描述

在我的应用程序中,我使用 Symfony 4。我希望 Symfony 在两个目录中搜索控制器:A 和 B。我发现了这样的内容:

controllers:
    resource: '../src/DirectoryA/Controller/'
    type:     annotation

,但它只适用于一个目录。如何让 Symfony 在两个目录中搜索控制器?

问候

标签: phpsymfonyroutingsymfony4

解决方案


在你的config/services.yaml

App\DirectoryA\Controller\: # assuming you have namespace like that
    resource: '../src/DirectoryA/Controller'
    tags: ['controller.service_arguments']
App\DirectoryB\Controller\: # assuming you have namespace like that
    resource: '../src/DirectoryB/Controller'
    tags: ['controller.service_arguments']

这将为服务参数添加下一个目录。那就是根据目录回答您的问题,您发布的是路由文件,其中会有类似的

controllers_a:
    resource: '../src/DirectoryA/Controller/'
    type:     annotation
controllers_b:
    resource: '../src/DirectoryB/Controller/'
    type:     annotation

推荐阅读