日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

七、PHP框架Laravel学习笔记——资源控制器

發布時間:2024/7/5 php 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 七、PHP框架Laravel学习笔记——资源控制器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.資源控制器

  • 聲明:資源控制器是某個特定場景下的產物,完全理解需要 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',['blog'=>110]);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');

    總結

    以上是生活随笔為你收集整理的七、PHP框架Laravel学习笔记——资源控制器的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。