为了账号安全,请及时绑定邮箱和手机立即绑定

具有特定结构参数的 Symfony 路由

具有特定结构参数的 Symfony 路由

PHP
动漫人物 2022-08-05 09:39:15
是否可以像这样在 symfony 中声明路由/somestuff/{query}结构在哪里querystring-with-minus-id000001我希望能够将第一部分作为控制器中的属性,并将第二部分作为id。将路由定义为/somestuff/{name}-id{id}不起作用
查看完整描述

2 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

我找到了一种在注释中执行此操作的方法,答案如下:


@Route(

   "/somestuff/{name}-id{id}",

   methods={"GET"} ,

   name="route_name",

   defaults={"name"=""},

   requirements={"name"=".*?", "id"="\d+"}

)


查看完整回答
反对 回复 2022-08-05
?
holdtom

TA贡献1805条经验 获得超10个赞

如果结构总是看起来像这样


/somestuff/{name}-id{id}

获取名称和 ID 的通用方法是


/**

 * @Route("/somestuff/{slug}")

 */

public function someAction(Request $request, $slug)

{

    $reversed = strrev($slug);

    $paramArray = explode('-', $reversed, 1); // limit

    $id = strrev($paramArray[0]);

    $name = strrev($paramArray[1]);

    // rest of code

}


查看完整回答
反对 回复 2022-08-05
  • 2 回答
  • 0 关注
  • 106 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信