首頁  >  文章  >  php框架  >  laravel產生及取得不同類型的URL位址總結

laravel產生及取得不同類型的URL位址總結

齐天大圣
齐天大圣原創
2020-12-16 21:36:561933瀏覽

產生url的功能是任何一個框架都必須具備的功能,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框架

以上是laravel產生及取得不同類型的URL位址總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn