我的Silex路由在routing.yml配置文件中定义。
在我的php代码中,我想动态添加一些新路由,我希望这些路由的优先级高于routing.yml中定义的路由。
目前我按照以下示例添加路线,但它们会添加到底部,即优先级最低。
$this->app->match('/page/{slug}', array($this, 'record'))
->bind('extrapages')
->method('GET|POST');
例如,此路由永远不会匹配,因为在routing.yml中存在与以下路径匹配的路由:
path: /{contenttypeslug}/{slug}
如何在现有路线上方添加新路线?
另外,我使用了基于Silex的Bolt CMS,并试图在螺栓扩展中添加这些新路线。由于这个问题与Silex路由有关,因此我使用Bolt的事实不会产生很大的不同。
答案 0 :(得分:1)
这不是一个非常干净的解决方案,但每当我在routing.yml
中推翻了分机的路线时,我只需将分机的路线添加到{{1再次,指向我的扩展代码。如果你把它放在顶部附近,它就会被使用,因为在Silex中,路线被解析为“自上而下”。第一场比赛被使用。
routing.yml
我为这个解决方案的hackyness道歉。