gpt4 book ai didi

symfony - 在 Symfony2 中获取路由需求变量

转载 作者:行者123 更新时间:2023-12-01 10:09:04 24 4
gpt4 key购买 nike

为了为我的网络界面创建一个导航,我想从我的包的路由配置中获取一个变量。我在 mybundle/Resources/config/routing.yml 中定义可用页面。

mybundle_homepage:
pattern: /{_locale}/{branch}/{page}
defaults: { _controller: mybundle:mycontroller:index, _locale: de, branch: x.x.x, page: start }
requirements:
_locale: de|en
page: start|functions|events|constants|styleguide

现在我查看了 Symfony2 YAML 解析器,我必须为其静态方法解析提供一个文件路径:http://symfony.com/doc/2.0/reference/YAML.html

mycontroller.php

use Symfony\Component\Yaml\Yaml;

class mycontroller extends Controller
{
public function indexAction($_locale, $branch, $page)
{
$routing = Yaml::parse('../Resources/config/routing.yml');
var_dump($routing);
}
}

我想我可以那样做,因为文件夹层次结构看起来像这样:

  • mybundle
    • Controller
      • mycontroller.php
    • Rescources
      • config
        • routing.yml

但它不起作用。从路由文件中获取 requirements.page 数组的任何想法或其他方法?

问候,本

最佳答案

您应该能够在 DI 容器感知的类中访问 router 服务。所以,你可以这样写:

$routes = $this->container->get('router')->getRouteCollection();

$route = $routes->get('my_route_name');
print_r($route->getRequirements());

关于symfony - 在 Symfony2 中获取路由需求变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7714554/

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