Ran*_*ngh 46 php routing symfony
我有以下代码:
/**
* Lists all User entities.
*
* @Route("/{cid}",defaults={"cid" = null},name="user")
* @Template()
*/
public function indexAction($cid=null)
{}
Run Code Online (Sandbox Code Playgroud)
现在,如果我键入site/user/1然后它可以工作,但如果我输入site/user/它说:
No route found
Run Code Online (Sandbox Code Playgroud)
我怎么能知道这两条路线都有效?
Ino*_*ryy 73
试着去site/user(注意最后没有反斜杠).
一般它应该工作,我有相对类似的配置工作.
但是如果所有其他方法都失败了,你总是可以为同一行动定义多条路线,即
/**
* Lists all User entities.
*
* @Route("/", name="user_no_cid")
* @Route("/{cid}", name="user")
* @Template()
*/
public function indexAction($cid=null)
{
Run Code Online (Sandbox Code Playgroud)
fko*_*ler 37
使用yml文件作为路由配置,并在路由参数中添加id的默认值,如下所示:
user:
pattern: /site/user/{id}
defaults: { _controller: YourBundle:Default:index, id: 1 }
Run Code Online (Sandbox Code Playgroud)
请参阅此处的文档
你也可以用GET参数来做,例如
/**
* @param Request $request
*
* @return Response
*/
public function displayDetailAction(Request $request) : Response
{
if ($courseId = $request->query->get('courseId')) {
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
59945 次 |
| 最近记录: |