溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

laravel如何生成及獲取不同類型的URL地址

發(fā)布時(shí)間:2020-12-19 09:44:28 來源:億速云 閱讀:288 作者:小新 欄目:編程語言

小編給大家分享一下laravel如何生成及獲取不同類型的URL地址,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

輔助函數(shù)url

輔助函數(shù)url可以生成任意的url,若沒有給定域名,則默認(rèn)使用本系統(tǒng)的域名。

echo url('http://baidu.com');  //http://baidu.com
echo url('/users/get/3');  // http://localhost:8000/user/get/3

獲取當(dāng)前URL

獲取當(dāng)前url有許多方法,除此之外還可以獲取上一頁的地址。但這些方法之間有些區(qū)別。

echo url()->current(); 
echo url()->full();
echo url()->previous();

如果當(dāng)前的URL地址為http://www.example.com/news/1?a=b&c=d,

current這個(gè)方法可以獲取當(dāng)前的url(),但是它獲取不到查詢字符串(即?a=b&c=d),而full則可以獲取完整的路徑。

除了上述的幾個(gè)方法外,還可以通過laravel的響應(yīng)來獲取當(dāng)前URL地址。

  • $request->path() 該方法只能獲取到當(dāng)前請(qǐng)求的路徑,獲取不到域名及查詢字符串

  • $request->url() 該方法和url()->current()用法一致,也是獲取不到查詢字符串

  • $request->fullUrl() 該方法和url()->full()效果一樣,能夠獲得完整的URL地址。

路由命名的URL

我們經(jīng)常會(huì)給一個(gè)路由設(shè)置一個(gè)名稱,設(shè)置完后,就可以通過這個(gè)名稱去獲取該路由的URL地址。下面給出演示代碼:

先給一個(gè)路由設(shè)置一個(gè)名稱,代碼如下:

Route::get('/news', function ()
{
})->name('news');

然后就可以獲取到該路由的url地址:

echo route('news');

若該路由有參數(shù)的話,則可以通過route的第二個(gè)參數(shù)來設(shè)置路由參數(shù)。演示代碼如下:

Route::get('/news/page/{page}/page_num/{pageNum}', function ()
{

})->name('news');

設(shè)置url的代碼如下:

echo route('news', ['page' => 1, 'page_num' => 15]);

控制器的URL

控制器的URL地址也是項(xiàng)目中經(jīng)常會(huì)用到了。對(duì)于控制器的URL,則通過action函數(shù)來獲取到。下面是演示代碼:

$url = action('IndexController@index');

如果控制器的方法需要路由參數(shù),則可以通過action的第二個(gè)參數(shù)來傳遞。演示代碼如下所示:

$url = action('IndexController@index', ['id' => 1]);

以上是“l(fā)aravel如何生成及獲取不同類型的URL地址”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI