您好,登錄后才能下訂單哦!
小編給大家分享一下laravel如何生成及獲取不同類型的URL地址,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
輔助函數url
輔助函數url可以生成任意的url,若沒有給定域名,則默認使用本系統的域名。
echo url('http://baidu.com'); //http://baidu.com echo url('/users/get/3'); // http://localhost:8000/user/get/3
獲取當前URL
獲取當前url有許多方法,除此之外還可以獲取上一頁的地址。但這些方法之間有些區別。
echo url()->current(); echo url()->full(); echo url()->previous();
如果當前的URL地址為http://www.example.com/news/1?a=b&c=d,
current這個方法可以獲取當前的url(),但是它獲取不到查詢字符串(即?a=b&c=d),而full則可以獲取完整的路徑。
除了上述的幾個方法外,還可以通過laravel的響應來獲取當前URL地址。
$request->path() 該方法只能獲取到當前請求的路徑,獲取不到域名及查詢字符串
$request->url() 該方法和url()->current()用法一致,也是獲取不到查詢字符串
$request->fullUrl() 該方法和url()->full()效果一樣,能夠獲得完整的URL地址。
路由命名的URL
我們經常會給一個路由設置一個名稱,設置完后,就可以通過這個名稱去獲取該路由的URL地址。下面給出演示代碼:
先給一個路由設置一個名稱,代碼如下:
Route::get('/news', function () { })->name('news');
然后就可以獲取到該路由的url地址:
echo route('news');
若該路由有參數的話,則可以通過route的第二個參數來設置路由參數。演示代碼如下:
Route::get('/news/page/{page}/page_num/{pageNum}', function () { })->name('news');
設置url的代碼如下:
echo route('news', ['page' => 1, 'page_num' => 15]);
控制器的URL
控制器的URL地址也是項目中經常會用到了。對于控制器的URL,則通過action函數來獲取到。下面是演示代碼:
$url = action('IndexController@index');
如果控制器的方法需要路由參數,則可以通過action的第二個參數來傳遞。演示代碼如下所示:
$url = action('IndexController@index', ['id' => 1]);
以上是“laravel如何生成及獲取不同類型的URL地址”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。