【发布时间】:2016-12-26 14:40:11
【问题描述】:
我正在使用一些 AJAX 构建我的 Web 应用程序,并且我没有使用资源控制器中的所有方法。是否可以使用php artisan 创建没有某些方法的资源控制器?谢谢
【问题讨论】:
我正在使用一些 AJAX 构建我的 Web 应用程序,并且我没有使用资源控制器中的所有方法。是否可以使用php artisan 创建没有某些方法的资源控制器?谢谢
【问题讨论】:
您可以通过将参数传递给路由定义来指定要包含在资源中的路由,如下所示:
Route::resource('photo', 'PhotoController', ['only' => [
'index', 'show'
]]);
当你运行artisan 生成器时,你仍然会得到所有的方法,但你可以删除它们。如果您要创建自定义命令来仅创建某些方法,您仍然需要记住 Route::resource 默认需要所有资源路由。
【讨论】:
如果您查看有关 ControllerMakeCommand 的 API 文档,您会发现它只有一个选项。因此,如果没有某些方法,使用 laravel 附带的命令是不可能生成控制器的。
https://laravel.com/api/5.2/Illuminate/Routing/Console/ControllerMakeCommand.html
但是,您可以自己创建一个接受参数的命令,并根据您的参数生成一个仅具有指定方法的控制器。
【讨论】: