也许我遗漏了一些东西,但似乎没有办法在 Symfony2 的路由中定义查询字符串参数,以便可以将它们传递给控制器。
例如,不要生成类似/blog/my-blog-post
(来自 Symfony2 的路由文档)的 URI 并将其传递给以下路由:
# app/config/routing.yml
blog_show:
pattern: /blog/{slug}
defaults: { _controller: AcmeBlogBundle:Blog:show }
我更愿意生成一个类似/blog?slug=my-blog-post
. 问题是我找不到slug
在路由配置文件中定义参数的任何地方(如上面的 {slug} 对应项)。
也许这是故意的,但是在查询字符串中使用 GET 参数的最佳实践是什么?
文档在使用查询字符串生成 URL中确实提到了它们,那么如何将它们传递给控制器?
我可以找到提到它们的地方是Symfony2 和 HTTP Fundamentals:
use Symfony\Component\HttpFoundation\Request;
$request = Request::createFromGlobals();
// retrieve GET variables
$request->query->get('foo');
这是在控制器内使用它们的最佳实践吗?