网站图片属性是什么,临沂市网站建设公司,智慧树网页设计与制作答案,彩票源码网站的建设一#xff0e;资源控制器
声明#xff1a;资源控制器是某个特定场景下的产物#xff0c;完全理解需要 PHP 项目基础#xff1b;比如开发过博客系统#xff0c;留言帖子系统之类#xff0c;具有类似思维#xff0c;否则你懂的…#xff1b;只是学习了 PHP 基础#xf…一资源控制器
声明资源控制器是某个特定场景下的产物完全理解需要 PHP 项目基础比如开发过博客系统留言帖子系统之类具有类似思维否则你懂的…只是学习了 PHP 基础就立刻学习框架的同学可以过一遍即可(不影响后续)…有一种控制器专门处理 CURD(增删改查)方法很多且方法名基本固定对于这种控制器我们可以将它设置为资源型控制器不要大量设置路由这里推荐直接使用命令行生成资源路由比如BlogController
php artisan make:controller BlogController --resource 生成了的资源控制器会产生 7 个方法配置好路由后会自动生成相关内容
Route::resource(blogs, BlogController); //单个资源路由
//批量定义资源路由
Route::resources([ blogs BlogController ]);BlogController.php
?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;class BlogController extends Controller
{/*** Display a listing of the resource.** return \Illuminate\Http\Response*/public function index(){//return index;}/*** Show the form for creating a new resource.** return \Illuminate\Http\Response*/public function create(){//}/*** Store a newly created resource in storage.** param \Illuminate\Http\Request $request* return \Illuminate\Http\Response*/public function store(Request $request){//}/*** Display the specified resource.** param int $id* return \Illuminate\Http\Response*/public function show($id){//}/*** Show the form for editing the specified resource.** param int $id* return \Illuminate\Http\Response*/public function edit($id){echo route(blogs.index);echo br;echo route(blogs.edit,[blog110]);echo br;return edit id: . $id;}/*** Update the specified resource in storage.** param \Illuminate\Http\Request $request* param int $id* return \Illuminate\Http\Response*/public function update(Request $request, $id){//}/*** Remove the specified resource from storage.** param int $id* return \Illuminate\Http\Response*/public function destroy($id){//}
} 如果我们注册了资源路由那么如上图的资源路由 URI 和名称均自动创建生效 http://localhost:8000/blogs/10/edit //可以访问到 edit 方法 return route(‘blogs.store’); //可以通过助手 route()了解是否注册 还有一条命令可以直接查看目前可用的路由以及命名 php artisan route:list 我们也可以限制资源路由只开放部分方法或排除部分方法可以用命令查看
//只有 index(),show()可访问
Route::resource(blogs, BlogController) -only([index, show]); //排除 index(),show()的其它方法可访问
Route::resource(blogs, BlogController) -except([index, show]); 资源控制器还有一种不需要 HTML 页面方法的 API 路由只提供数据接口 //API 资源并不需要 HTML 页面(create,edit)会排除 Route::apiResource(blogs, BlogController);//批量方式Route::apiResources([ blogs BlogController ]); 当然也支持一开始就生成一个不包含 HTML 页面方法的资源控制器要注意的是对应的资源路由直接使用 api 资源路由即可 php artisan make:controller CommentController --api
Route::apiResource(comments, CommentController);