我使用资源 Controller 来控制文章。
/news
点击索引方法并调出该类别下的所有文章。
/news/article-slug
点击 show 方法并在类别下显示一篇文章。
我的问题涉及子类别。
/news/sub-category-name
当我希望它命中索引方法并显示子类别的文章列表时,这将命中显示方法,该方法将查找具有子类别名称的文章。
子类别使用什么方法?
添加另一个路由和方法,例如:
get('/news/{subcategory}', [
'as'=>'subcategory',
'uses'=>'ArticleController@getSubCategory',
]);
或者放弃子类别并使用如下网址是更好的做法:
/news-sub-category-name/article-slug
或者还有其他方法吗?
最佳答案
考虑语义,您最好先服务器类别名称,然后再服务器标题。即
www.domain.com/news/category/article
这也将为您的路线文件提供一种干净的方法。 IE 没有通配符匹配或正则表达式来替换 (cat-) 等。
这就是我个人会走的路。
过去您会希望 URL 尽可能短,但现在情况并非如此。不要误会我的意思,这并不是说您想要domain/cat/cat/cat.....
...更新
要使用资源,您会拥有类似的东西。
Route::resource('news/{cat}/article', 'ArticleController');
关于php - 子类别和资源 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34029949/