我正在创建一个API,我想要包括常规资源和嵌套资源
例如,我会说我有一个Post资源和Comment资源.我已经设置了适当的路线和控制器,如下所示
路线
Route::resource('posts','PostsControllers'); // /posts/{id} Route::resource('comments','CommentsControllers'); /comments/{id}
但我也希望将评论作为帖子的嵌套资源,就像这样
嵌套资源路由
Route::resource('posts.comments','PostCommentsControllers'); /posts/{id}/comments/{id}
因为我已经编写了我的CommentsController,我想知道为我的PostsController重用CommentsController的最佳方法
谢谢
解决方法
使用继承是最好的方法:
class BaseController extends Controller { public function index() { } public function create() { } public function store() { } public function update() { } } class PostsController extends BaseController { } class CommentsController extends BaseController { }