gpt4 book ai didi

php - Symfony 4 全局路由前缀

转载 作者:行者123 更新时间:2023-12-03 22:55:36 26 4
gpt4 key购买 nike

我在 Symfony 4 应用程序中找不到有关全局路由前缀的任何信息。唯一thing我发现正在用 @route 注释 Controller .但是我不使用注释,我需要所有 Controller 都具有相同的前缀。

现在我可以在 S3 中像这样在 app/config/routing.yml 中做到这一点文件:

app:
resource: '@AppBundle/Controller/'
type: annotation
prefix: /foo

但是 S4 是无捆绑的,我不能这样做 - 我必须创建一个我不需要的捆绑包。

是否可以在 Symfony 4 中定义全局路由前缀,或者我最终会为每个根添加前缀/创建自定义路由加载器,特别是如果我在 YAML 中配置路由?

最佳答案

这适用于注释,为每个 Controller 提供“this/prefix”:

# file: config/routes/annotations.yaml

controllers:
resource: ../../src/Controller/
type: annotation
prefix: this/prefix

然后对于导入的路由,'this/prefix' 被应用于下面的所有 FOSUserBundle 路由(是的,我测试了它)。
# file: config/routes.yaml

fos_user:
resource: "@FOSUserBundle/Resources/config/routing/all.xml"
prefix: this/prefix

如果您不使用注释,您应该能够导入单独的路由文件(可以导入更多),将前缀应用于资源中的所有内容。但是删除“@”符号并使用文件的相对路径。
'this/prefix' 的值可以配置为 服务容器参数 ,看这里: http://symfony.com/doc/current/routing/service_container_parameters.html

关于php - Symfony 4 全局路由前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48120939/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com