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

歡迎訪問 生活随笔!

生活随笔

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

php

四、PHP框架Laravel学习笔记——路由命名和分组

發布時間:2024/7/5 php 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 四、PHP框架Laravel学习笔记——路由命名和分组 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.路由命名

  • 給一個制定好的路由進行命名,可以生成 URL 地址或進行重定向;
  • Route::get('task', 'TaskController@index')->name('task.index');
  • 在控制器區域,使用助手函數 route()來獲取路由生成的 URL 地址;
    //生成 url 地址,http://localhost:8000/task
  • route('task.index');

    PS:URL 是 URI 的子集,更多區別請百度;

  • route()助手的第二參數為參數,第三參數為是否包含域名 URL
    // http://localhost:8000/task?id=10
  • route('task.index', ['id'=>10]);


    // /task?id=10

    $url = route('task.index', ['id'=>10], false);

    PS:如果需要更改成/task/10 模式,路由需要相應更改 task/{id}

  • 使用 redirect()助手結合 route()生成一個重定向跳轉,注意不要自我死跳;
    //生成重定向
  • return redirect()->route('task.index', ['id'=>10]);

    二.路由分組

  • 路由分組功能是為了讓大量路由共享路由屬性,包括中間件、命名空間等;
  • //一個空的分組路由 Route::group([], function () { Route::get('index/{id}', function ($id) { return 'index'.$id; }); Route::get('task/{id}', function ($id) { return 'task'.$id; }); });

    路由分組第一種寫法:

    路由分組第二種寫法:(推薦)

  • 可以將中間件作用域路由分組中,有兩種寫法,至于中間件?后續章節講解;
  • //引入中間件,方法一

    Route::group(['middleware'=>'中間名'], function () {});

    //引入中間件,方法二

    Route::middleware(['中間件'])->group(function () {});
  • 可以設置路由路徑前綴,通過 prefix 來設置,也有兩種方法,具體如下: //引入路由前綴,方法一
  • Route::group(['prefix'=>'api'],function () {});

    //引入路由前綴,方法二

    Route::prefix('api')->group(function () {});
  • 可以設置子域名,從而限定路由可執行的域名,有兩種方法,具體如下:
  • //引入子域名,方法一

    Route::group(['domain'=>'127.0.0.1'], function () {});

    //引入子域名,方法二

    Route::domain('127.0.0.1')->group(function () {});



    5. 可以設置命名空間,讓命名空間分配給控制器,讓其得以訪問,具體如下:
    //命名空間,方法一

    Route::group(['namespace'=>'Admin'],function () {});

    //命名空間,方法二

    Route::namespace('Admin')->group(function () {});

    PS:在 Controller 目錄下創建 Admin 目錄,再其目錄下創建的控制器命名空間如下: namespace App\Http\Controllers\Admin;

  • 可以設置名稱前綴,方式兩種,也可以嵌套,具體如下:
    //名稱前綴,方式一
  • Route::group(['as'=>'task.'], function () { Route::get('task', 'TaskController@index')->name('index'); Route::get('task/url', 'TaskController@url'); });

    //名稱前綴,方式二

    Route::name('task.')->group( function () {}); //生成 URL $url = route('task.index'); return $url; //嵌套方式命名前綴 Route::name('task.')->group(function () { Route::name('abc.')->group(function () {Route::get('task', 'TaskController@index')->name('index'); }); Route::get('task/url', 'TaskController@url'); }); //生成 URL $url = route('task.abc.index'); return $url;

    總結

    以上是生活随笔為你收集整理的四、PHP框架Laravel学习笔记——路由命名和分组的全部內容,希望文章能夠幫你解決所遇到的問題。

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