symfony - Symfony 中有很多可选参数的路由
问题描述
我有很多产品,可以过滤很多不同的参数。所以用户在表单中输入搜索参数,然后列表由这些参数过滤。
我试图创建这样的路线:
/**
* Display a list of product
* @Route("/product/list/{name}/{price_min}/{price_max}/{publish_date}/{supplier_code}", name="product_list")
*/
public function listProduct(){
// ... Check parameters format and then escape special caracters
// ... Display product logic
return $this->render('Product/product_list.html.twig', $array_params_view);
}
我知道你可以提供可选参数,但这个解决方案对我来说真的很糟糕......我认为可能还有另一种解决方案。
我曾考虑使用Request而不是很多参数,但如果我这样做,我会失去漂亮且易于阅读的 URL 的功能,并且管理路由可能会更加困难。
我不知道搜索功能的最佳解决方案是什么。
解决方案
如果您使用路由搜索到您的列表,我认为您需要阅读以下内容:链接
查询字符串是一种更好的搜索方式。
// the query string is '?foo=bar'
$request->query->get('foo');
// returns 'bar'
推荐阅读
- python - 替换字符串的第 n 个字符(RegEx 与否)
- python - 从另一个模块读取和操作对象 [Python + Maya]
- git - Azure Pipelines 找到传入合并的提交哈希
- java - 在 JDK 中编译 Java API 源
- hlsl - 混合使用 asm 顶点着色器和 HLSL 像素着色器
- excel - 将图表加载为图像,给出运行时错误 481:无效图片
- firebase - 如何允许管理员帐户访问 Firebase 存储中的用户文件夹
- autohotkey - (Autohotkey) 我想自动化我的脚本编写过程
- python - 单击按钮但网页上没有任何反应(Selenium WebDriver)
- r - 在 Shiny 中从上传的 Seurat 对象中提取元数据以进行 selectInput 选择