成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

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

seasonley / 1428人閱讀

摘要:獲取路由參數(shù)的方式有很多,并且有個(gè)小坑,匯總?cè)缦隆@缃Y(jié)果為結(jié)果為以上就是獲取路由參數(shù)的種方法。所有文章均已收錄至項(xiàng)目。

Laravel 獲取路由參數(shù)的方式有很多,并且有個(gè)小坑,匯總?cè)缦隆?/p>

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

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

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

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

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

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

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

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

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/25936.html

相關(guān)文章

  • Laravel核心解讀--控制器

    摘要:下面是剛才說(shuō)的這些步驟對(duì)應(yīng)的核心代碼收集路由和控制器里應(yīng)用的中間件我們?cè)谇懊娴奈恼吕镆呀?jīng)詳細(xì)的解釋過(guò)中間件和路由的原理了,接下來(lái)就看看當(dāng)請(qǐng)求最終找到了路由對(duì)應(yīng)的控制器方法后是如何為控制器方法注入正確的參數(shù)并調(diào)用控制器方法的。 控制器 控制器能夠?qū)⑾嚓P(guān)的請(qǐng)求處理邏輯組成一個(gè)單獨(dú)的類, 通過(guò)前面的路由和中間件兩個(gè)章節(jié)我們多次強(qiáng)調(diào)Laravel應(yīng)用的請(qǐng)求在進(jìn)入應(yīng)用后首現(xiàn)會(huì)通過(guò)Http Ker...

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

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

    luoyibu 評(píng)論0 收藏0
  • Laravel 依賴注入源碼解析

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

    Donne 評(píng)論0 收藏0
  • Laravel 路由設(shè)置

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

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

    摘要:解析出后將進(jìn)入應(yīng)用的請(qǐng)求對(duì)象傳遞給的方法,在方法負(fù)責(zé)處理流入應(yīng)用的請(qǐng)求對(duì)象并返回響應(yīng)對(duì)象。攜帶了本次迭代的值。通過(guò)這種方式讓請(qǐng)求對(duì)象依次流過(guò)了要通過(guò)的中間件,達(dá)到目的地的方法。 中間件(Middleware)在Laravel中起著過(guò)濾進(jìn)入應(yīng)用的HTTP請(qǐng)求對(duì)象(Request)和完善離開(kāi)應(yīng)用的HTTP響應(yīng)對(duì)象(Reponse)的作用, 而且可以通過(guò)應(yīng)用多個(gè)中間件來(lái)層層過(guò)濾請(qǐng)求、逐步完善...

    enda 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<