Symfony2最佳实践:路由占位符与查询参数

时间:2015-05-27 08:16:10

标签: php symfony

是否有推荐的方法选择如何向控制器提供数据?

我经常要决定是否要使用路线占位符,如:

/**
 * @Route("/hello/{name}", name="hello")
 */
public function indexAction($name)
{
    return new Response('<html><body>Hello '.$name.'!</body></html>');
}

用法:/hallo/Thorsten

或使用查询参数($ _GET):

/**
 * @Route("/hello")
 */
public function indexAction()
{
    $request = Request::createFromGlobals();
    $name = $request->get('name');
    return new Response('<html><body>Hello '.$name.'!</body></html>');
}

用法:/hallo?name=Thorsten

1 个答案:

答案 0 :(得分:1)

我不认为这有一个规则,取决于它。

值是一个通用字符串,可能包含空格或奇怪的字符或符号或斜杠?我使用查询字符串,它广泛用于搜索,分页等。

该值是否在一组预定义的&#34;字&#34;或&#34;数字&#34;,如类别,用户ID,博客帖子等等?为简单起见,我使用路径并遵循SEO规则。

在这里查看有关我的意思的更多信息: http://googlewebmastercentral.blogspot.co.nz/2015/04/better-presentation-of-urls-in-search.html