我最近在 StackOverflow 上发现了很多询问什么是 Laravel Resource 控制器的问题。 本文解释了这个基本概念,继续往下看。
Laravel 资源型控制器
资源控制器就是 Laravel 控制器的一种,具有创建、读取、更新和删除资源(或模型)的所有方法。 您可以使用此 artisan
命令创建资源控制器:
php artisan make:controller PhotoController --resource
该命令将在您的控制器目录中创建一个 PhotoController.php 文件,并将自动创建 7 种方法 index ,show,create,store,edit,update,destroy。 所有这些方法都是空的,您必须为每个操作添加逻辑。 默认情况下,当您执行命令时,Laravel 将使用控制器中的模型名称,例如。 Photo 模型将命名为 PhotoController,如果您想使用其他模型,则可以使用:
php artisan make:controller PhotoController --resource --model=Photo
现在,新控制器将使用在 --model
标识中设置的内容。
您也可以使用 --api
标识而不是 --resource
标识为 API 路由创建控制器。 这将创建除 create
方法和 edit
方法之外的所有方法,因为 api 调用不需要它们。
Laravel 资源型路由
Laravel 还提供了一种简单的方法来创建资源路由:
Route::resource('photos','PhotoController'); // GET /photos PhotoController@index // GET /photos/create PhotoController@create // POST /photos PhotoController@store // GET /photos/{id} PhotoController@show // GET /photos/{id}/edit PhotoController@edit // PUT /photos/{id} PhotoController@update // DELETE /photos/{id} PhotoController@destory
此方法将创建从浏览器访问每个操作所需的所有 7 条路由。 您也可以自定义所需的某些路由,也可以保留不需要的路由。
Route::resource('photos','PhotoController')->only(['index','show']); Route::resource('photos','PhotoController')->except(['create','store','update','destroy']);
结论
希望您已经消除了对 Laravel Resources 控制器的疑问,并希望在您的下一个项目中尝试。 希望这一小段内容能帮助您更好地理解它们。
更多学习内容请访问:
腾讯T3-T4标准精品PHP架构师教程目录大全,只要你看完保证薪资上升一个台阶(持续更新)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。