php - 路由/API 约定问题
问题描述
我有一个网页,其中有产品和产品类别,我有很多页面来显示数据,比如我在哪里显示属于某个类别的产品,我正在为如何处理这个问题而摸不着头脑。
//Uses ProductController, shows products
Route::get('/products/category/{id}', 'Web\ProductController@productsCategoryId');
//Uses ProductCategoryController, shows products too
Route::get('/product-category/{id}/products','Web\ProductCategoryController@productCategoriesIdProducts');
我有两条显示相同数据的路线,都显示属于一个类别的产品,我的心告诉我我应该在 ProductController 中选择第一个,因为我总是显示产品,产品本身就是主要参与者,但我也有看到使用的第二种路线模式,然后我想到了第三种选择。
忘记详细路由并使用查询参数怎么样:
/products?category=1
繁荣,afaik,如果我这样做,我的控制器中将有一个入口点,并且根据查询参数从该方法中,我将显示不同的页面,index.blade,show.blade,category.blade。
使用查询参数让我更好地理解/阅读网址,但我担心有一个带有一堆 if 条件的单一方法是解决这个问题的方法......
我愿意接受各种建议。
解决方案
试试这个
Route::get('/products/category/{id}?category', 'Web\ProductController@productsCategoryId');
category=1
推荐阅读
- linux - 没有管道键时如何从命令中grep输出
- java - 如何在运行时使用新的 xml 文件重新配置 log4j2
- javascript - 从 devTools 网络指标获取传输/资源大小和 DOMContentLoaded/加载时间
- python - 将矩阵输出馈送到python中的行输出
- javascript - 为每个新对象创建一个数组
- excel - 查询损坏的女士访问
- python - 为什么我可以访问在 Python 函数之外有条件定义的变量?
- android - 错误:找不到符号类 DaggerAppComponent 版本与其他依赖项冲突
- sql-server - Sqlserver 减去不匹配的列
- google-sheets - Google表格中查询公式中的小数