Symfony转换在字符串URL


Symfony convert in string URL

我用下面的方法打印一个转换成字符串的整数变量:

public function __toString(){
    return strval($this->id);
}

我打印这个在我的树枝文件,它工作得很好,但我有一个问题,当我的变量被放在一个URL路径,像这样:

<a href="{{ path('profilo_secondlevel', {'uid': user.idUserReferenced}) }}">{{ user.idUserReferenced }}</a>

我的URL是这样看的:

 <a href="/app_dev.php/profilo/secondo-livello?uid%5B__isInitialized__%5D=1">73</a>

我读到这个问题,这被称为百分比编码,用于编码URL参数值中的特殊字符。但我希望我的id号在URL…

我该怎么办?

CODE OF routing.yml


    ################################################################################
 #                               /profile/secondo_livello                                    # 
 profilo_secondlevel:
host:      "{_locale}.{domain}"
locales:  { it: "/profilo/secondo-livello.{_format}", fr: "/profilo/secondo-livello.{_format}", de: "/profilo/secondo-livello.{_format}" }
defaults:  { _locale: "%locale%", domain: "%domain%", _format: "html", _controller: DtEcBundle:Profile:secondLevel }
requirements:
    _locale: "it|fr|de"
    domain:  "%domain%"
    _format:  "html|json"
 profilo_secondlevel_www.it:
path:      /profilo/secondo-livello/{uid}.{_format}
host:      "www.{domain}"
defaults:  { _locale: "%locale%", _format: "html", _controller: DtEcBundle:Profile:secondLevel }
requirements:
    _locale: "%locale%"
    domain:  "%domain%"
    _format:  "html|json"
  profilo_secondlevel_nowww.it:
path:      /profilo/secondo-livello/{uid}.{_format}
host:      "{domain}"
defaults:  { _locale: "%locale%",  _format: "html", _controller: DtEcBundle:Profile:secondLevel }
requirements:
    _locale: "%locale%"
    domain:  "%domain%"
    _format:  "html|json"

假设您已经定义了一个服务于profilo_secondlevel路由的控制器,您将拥有如下路由配置:

app/config/routing.yml

profilo_secondlevel:
  host:      "{_locale}.{domain}"
  path:      /profilo/secondo-livello/{uid}.{_format}
  defaults:  { _locale: "%locale%", domain: "%domain%", _format: "html", _controller: DtEcBundle:Profile:secondLevel }
  requirements:
    _locale: "it|fr|de"
    domain:  "%domain%"
    _format:  "html|json"

那么你可以在你的小枝模板上使用下面的模板代码:

<a href="{{ path('profilo_secondlevel', {'uid': user.idUserReferenced}) }}">
{{ user.idUserReferenced }}
</a>

,结果应该是这样的URL: /profilo/secondo-livello/73.html .