《Laravel – 如何使用URL – 學習筆記》

Telegram share !

相信很多網頁開發者都會處理到麵包屑、上一下、下一頁等相關URL的操作,過往大家會用組字串的方式產生URL,在Laravel 框架中提供不少方便的URL函式供開發者使用,但由於內建函式眾多,我只提供日常比較常用的函式供你參考,我也順便紀錄下來當作備忘錄,也希望藉由此次分享讓初學者能更快掌握相關語法。

current、full、previous:

讓你存取目前 URL 的資訊

// 取得目前URL,不帶query string
echo url()->current();
 
// 取得目前URL,包含query string
echo url()->full();
 
// 取得上一個請求的完整URL
echo url()->previous();

這些方法也可以通過 URL Facade 來存取:

use Illuminate\Support\Facades\URL;
 
echo URL::current();

to:

to 方法會產生帶著https的url的網址,第三個參數為bool true為https url,false為http url。

URL::to('foo/bar', $parameters, $secure);

ex

URL::to('another/route', array('foo', 'bar'), true);

action:

透過Controller裡的method產生URL(注意Route不要指定別名,否則會出現錯誤!)

URL::action('NewsController@item', ['id'=>123]);
URL::action('Auth\AuthController@logout');
URL::action('FooController@method', $parameters, $absolute);

route:

當您已為路由命名時才使用 Url::route,如果沒有建議使用URL::to

#在web.php中定義
Route::get('/account/register', [
    'name' => 'register', 
    'uses' => 'RegisterController@create'
]);

#html中可以使用URL::route來呼叫
<a href="{{ URL::route('register') }}" >Register 1</a>

secure:

產生帶著https的url的網址

URL::secure('foo/bar', $parameters);

URL::secure('another/route', array('foo', 'bar'));

URL::secure('another/route');

asset:

載入專案內的css與js檔案,第二個參數如果設定為true則強制使用https

URL::asset('css/foo.css', $secure);

#也可以用secureAsset,預設url為https 
URL::secureAsset('css/foo.css')

<!-- 載入站內的資源檔案 -->
<link rel="stylesheet" href="{{ URL::asset('css/bootstrap.css') }}">
<script type="text/javascript" src="{{ URL::asset('js/jquery.min.js') }}"></script>

<!-- 如果是要載入站外的資源檔案可以用 -->
<script type="text/javascript" src="{{ URL::asset('//code.angularjs.org/1.2.13/angular.js') }}"></script>

isValidUrl:

判斷該網站是否為有效的URL

URL::isValidUrl('http://example.com');

路徑相關函式:

1、base_path()     #返回專案根目錄的絕對路徑
2、app_path()      #返回專案app目錄下的絕對路徑
3、storage_path()  #返回專案storage目錄下的絕對路徑
4、config_path()   #返回專案config目錄下的絕對路徑
5、public_path()   #返回專案public目錄下的絕對路徑
6、database_path() #返回專案database資料庫目錄下的絕對路徑

Reference