国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Laravel 獲取 Route Parameters (路由參數) 的 5 種方法

seasonley / 1360人閱讀

摘要:獲取路由參數的方式有很多,并且有個小坑,匯總如下。例如結果為結果為以上就是獲取路由參數的種方法。所有文章均已收錄至項目。

Laravel 獲取路由參數的方式有很多,并且有個小坑,匯總如下。

假設我們設置了一個路由參數:
/**
* 定義路由參數名稱分別為: param1,param2
*/
Route::get("/{param1}/{param2}", "TestController@index");
現在我們訪問 http://test.dev/1/2 TestController 中:
/**
* 路由參數獲取方法
*
* @param IlluminateHttpRequest $request    依賴注入 Request 實例,放在參數中什么位置都可以自動加載
* @param mixed $arg2    要獲取的路由參數
* @param mixed $arg1    要獲取的路由參數
*/

public function index(Request $request, $arg2, $arg1)
{

    /**
    * 方法一:按照 URL 中路由參數先后順序來獲取
    * 注意:此種方式有個小坑,獲取的值只與順序有關,與名稱無關
    */
    echo $arg2;    //結果為 1 ,因為 $arg2 在第一位,獲取的是第一個路由參數 param1 的值
    echo $arg1;    //結果為 2 ,因為 $arg1 在第二位,獲取的是第二個路由參數 param2 的值

    /**
    * 方法二:按照路由參數名稱來獲取
    * 注意:此處名稱是 Route 中定義的參數名,非上面方法中的參數名 
    */
    $request->route("param1");      //結果為 1 ,獲取的是第一個路由參數
    $request->route("param2");      //結果為 2 ,獲取的是第二個路由參數

    /**
    * 方法三:使用 request() 輔助函數來獲取,效果同方法二
    */
    request()->route("param1");     //結果為 1 ,如果不帶路由參數名則返回當前的Route對象
    request()->route("param2");     //結果為 2 ,如果不帶路由參數名則返回當前的Route對象

    /**
    * 方法四:使用 Route Facade
    */
    Route::input("param1");     //結果為 1 ,該方法必須帶路由參數名
    Route::input("param2");     //結果為 2 ,該方法必須帶路由參數名

    /**
    * 方法五:使用 IlluminateHttpRequest 實例動態屬性
    */
    $request->param1;   //結果為 1 ,Laravel 5.4+ 可用
    $request->param2;   //結果為 2 ,Laravel 5.4+ 可用
        
    // 或者
    request()->param1;   //結果為 1 ,Laravel 5.4+ 可用
    request()->param2;   //結果為 2 ,Laravel 5.4+ 可用
        
    //或者
    request("param1");   //結果為 1 ,Laravel 5.4+ 可用
    request("param2");   //結果為 2 ,Laravel 5.4+ 可用
        
    /**
    * 注意:Laravel 在處理動態屬性的優先級是,先從請求的數據(POST/GET)中查找,沒有的話再到路由參數中找。
    * 例如:URL : http://test.dev/1/2?param1=a¶m2=b
    * $request->param1; request()->param1; request("param1");    //結果為 a
    * $request->param2; request()->param2; request("param2");    //結果為 b
    */
}

以上就是 Laravel 獲取路由參數的 5 種方法。

原創。 所有 Laravel 文章均已收錄至 laravel-tips 項目。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/25936.html

相關文章

  • Laravel核心解讀--控制器

    摘要:下面是剛才說的這些步驟對應的核心代碼收集路由和控制器里應用的中間件我們在前面的文章里已經詳細的解釋過中間件和路由的原理了,接下來就看看當請求最終找到了路由對應的控制器方法后是如何為控制器方法注入正確的參數并調用控制器方法的。 控制器 控制器能夠將相關的請求處理邏輯組成一個單獨的類, 通過前面的路由和中間件兩個章節我們多次強調Laravel應用的請求在進入應用后首現會通過Http Ker...

    fxp 評論0 收藏0
  • Laravel 路由執行

    摘要:路由執行代碼展示控制器形式匿名函數形式控制器形式處理控制器參數解析返回過濾的從路徑或主機名解析出來的對應的參數數組,類似方式調用控制器的方法可以有自己的區別于路由參數的 Laravel 路由執行 代碼展示 protected function runRouteWithinStack(Route $route, Request $request) { $shouldSkipMid...

    luoyibu 評論0 收藏0
  • Laravel 依賴注入源碼解析

    在 Laravel 的控制器的構造方法或者成員方法,都可以通過類型約束的方式使用依賴注入,如: public function store(Request $request) { //TODO } 這里 $request 參數就使用了類型約束,Request 是類型約束的類型,它是一個類:IlluminateHttpRequest. 本文研究 Laravel 的依賴注入原理,為什么這樣定義...

    Donne 評論0 收藏0
  • Laravel 路由設置

    摘要:本質是將為的請求轉化為追加的組內請求,對應的匿名函數依然是為的請求假如為,則返回優先從設置里面取值,沒有則生成單數形式的字符串,并將字符替換為小結資源類型的構造,實際上會被轉化為構造多個默認資源的路由,本質依然是基本構造 Laravel 路由 路由構造總覽 構造方法有: Route::get、Route::post、Route::put、Route::patch、Route::del...

    張紅新 評論0 收藏0
  • Laravel核心解讀--中間件(Middleware)

    摘要:解析出后將進入應用的請求對象傳遞給的方法,在方法負責處理流入應用的請求對象并返回響應對象。攜帶了本次迭代的值。通過這種方式讓請求對象依次流過了要通過的中間件,達到目的地的方法。 中間件(Middleware)在Laravel中起著過濾進入應用的HTTP請求對象(Request)和完善離開應用的HTTP響應對象(Reponse)的作用, 而且可以通過應用多個中間件來層層過濾請求、逐步完善...

    enda 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<