为了创建我的web界面导航,我想从我的bundle的路由配置中获得一个变量。我在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解析器,我必须为它的静态方法parse: http://symfony.com/doc/2.0/reference/YAML.html提供一个文件路径
mycontroller.php
use SymfonyComponentYamlYaml;
class mycontroller extends Controller
{
public function indexAction($_locale, $branch, $page)
{
$routing = Yaml::parse('../Resources/config/routing.yml');
var_dump($routing);
}
}
我想我可以这样做因为文件夹的层次结构看起来是这样的:
- mybundle
- 控制器
- mycontroller.php
- 上
- 配置
- routing.yml
但是它不起作用。有什么想法或者其他方法来得到需求吗。从路由文件页数组?
认为,本
你应该能够在一个支持DI容器的类中访问router服务。所以,你可以这样写:
$routes = $this->container->get('router')->getRouteCollection();
$route = $routes->get('my_route_name');
print_r($route->getRequirements());