不使用某些方法在 Laravel 中创建资源路由

Create resource route in Laravel without certain methods

我正在使用一些 AJAX 构建我的 Web 应用程序,但我没有使用资源控制器中的所有方法。是否可以使用 php artisan 创建一个没有某些方法的资源控制器?谢谢

如果您查看有关 ControllerMakeCommand 的 API 文档,您会发现它只有一个选项。因此,如果没有某些方法,则无法使用 laravel.

附带的命令生成控制器

https://laravel.com/api/5.2/Illuminate/Routing/Console/ControllerMakeCommand.html

但是您可以自己创建一个接受参数的命令,并根据您的参数生成一个仅具有指定方法的控制器。

Laravel docs on how to create a custom command

您可以通过将参数传递给路由定义来指定要包含在资源中的路由,如下所示:

Route::resource('photo', 'PhotoController', ['only' => [
    'index', 'show'
]]);

当您 运行 使用 artisan 生成器时,您仍然会获得所有方法,但您可以删除它们。如果您要创建一个自定义命令来仅创建某些方法,您仍然需要记住 Route::resource 默认情况下需要所有资源路由。