Silex动态路由

时间:2017-02-17 14:10:17

标签: php symfony silex

我的应用程序在带有Silex框架的PHP Symfony上运行。正在使用以下链接测试该应用程序:

v/prx/test/inttest/images/23464a230e641ca3929826a1548164cf/img/Tp31234564789.png

该应用包含以下路线:

v -> {v}, test -> {cmr}, inttest -> {page}, images/...png -> {path}:    
$app->get('/{v}/prx/{cmr}/{page}/{path}', array($container[ Controllers::CTRL], 'someProxyAction'));

然而,app会返回错误:

ERROR No route found for "GET /v/prx...

问题是,如果路线以正确的方式书写。

2 个答案:

答案 0 :(得分:0)

它是搜索路径v / prx / test / inttest / images但你给出更多然后描述路由,所以路由器找不到这条路线。你应该编码这个字符串,因为斜杠!

images/23464a230e641ca3929826a1548164cf/img/Tp31234564789.png

试试此链接

v/prx/test/inttest/images%2F23464a230e641ca3929826a1548164cf%2Fimg%2FTp31234564789.png

答案 1 :(得分:0)

你尝试做过那样的事吗?

  

$ app-&gt; get(&#39; / {v} / prx / {cmr} / {page} / {path}&#39;,array($ container [   Controllers :: CTRL],&#39; someProxyAction&#39;)) - &gt;断言(&#39;路径&#39;,&#39;。*&#39;); < / p>

我相信断言应该有助于告诉解析器甚至接受/作为参数的一部分