昨天的路由Day10 【Laravel 學習歷程】- Routes(1)還沒結束,今日繼續
來說說路由參數這個東西
當我們要傳遞參數的時候,該怎麼用呢?
Route::get('abc/{id}', function ($id) {
...
});
Route::get('abc/{id}', function ($id='123') {
...
});
除此之外除此之外
還可以透過正規式來限制參數裡頭的函數只能接收相對應的值
$id
只能輸入數字
Route::get('abc/{id}', function ($id) {
...
})->where('id', '[0-9]+');
$txt
只能輸入大、小寫的英文字母Route::get('abc/{txt}', function ($txt) {
...
})->where('txt', '[A-Za-z]+');
phone
只能輸入數字;email
只能輸入大、小寫的英文字母;
Route::get('posts/{phone}/{email}', function ($phone, $email) {
...
})->where(['phone' => '[0-9]+', 'email' => '[A-Za-z]+']);
還有那個命名路由的用途是讓我們可以為特定路由產生URLs
或進行重新導向
定義路由的時候要使用陣列的as
鍵來為路由指定名稱:
像是例如把home
指定為index
Route::get('home', ['as' => 'index', function () {
...
}]);
齁!還可以指定路由名稱到Controller操作
Route::get('home', [
'as' => 'index', 'show' => 'UserController@myController'
]);
再來一個POST請求路由吧!
哈哈很看心情選路由說,因為我也是學到哪講到哪
很凌亂的在學習,來個範例吧
Route::get('/testPost',function(){
$csrf_token = csrf_token();
$form = <<<FORM
<form action="/home" method="POST">
<input type="hidden" name="_token" value="{$csrf_token}">
<input type="submit" value="Submit"/>
</form>
FORM;
return $form;
});
Route::post('/home',function(){
return "Hello World[POST]!";
});
還有很多,
註冊一個可回應多個 HTTP
請求路由的match
方法
或者是想註冊一個可以回應所有 HTTP
請求路由的any
方法
或者是路由群組、子網域路由等等什麼的,這個我可能就...
要等到用的到的時候才會研究了啦哈哈