成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

seasonley / 1364人閱讀

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

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

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

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

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

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

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

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

    /**
    * 方法五:使用 IlluminateHttpRequest 實例動態(tài)屬性
    */
    $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 在處理動態(tài)屬性的優(yōu)先級是,先從請求的數(shù)據(jù)(POST/GET)中查找,沒有的話再到路由參數(shù)中找。
    * 例如: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 獲取路由參數(shù)的 5 種方法。

原創(chuàng)。 所有 Laravel 文章均已收錄至 laravel-tips 項目。

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

轉載請注明本文地址:http://systransis.cn/yun/25936.html

相關文章

  • Laravel核心解讀--控制器

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

    fxp 評論0 收藏0
  • Laravel 路由執(zhí)行

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

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

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

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

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

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

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

    enda 評論0 收藏0

發(fā)表評論

0條評論

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