php - 子类别和资源 Controller ?

标签 php laravel laravel-5 laravel-5.1

我使用资源 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/

相关文章:

php - Codeigniter 使用复选框删除多行

Laravel cron 不执行 PHP 脚本

laravel-5 - Laravel 5 无法检测应用程序 namespace

php - Laravel5 : View [app] not found. 资源/views/auth/login.blade.php

javascript - PHP session 变量在新页面上消失?

php - 如何更改 Moodle 中的注册页面设计

php - Laravel 中带有 Form 基础包的动态选择列表

Laravel:更改日志路径以包含用户文件夹

php - magento 以编程方式构建类别树

php - 如何使用数据库 : Seeding? (laravel 5.3) 将数据从一个表导入到另一个表?