感冒了 難受
我把信箱拿掉了 害我不能講寄信功能 ㄇㄉ
Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);
Route::match(['get', 'post'], '/', function () {
//
});
Route::any('foo', function () {
//
});
基本上就是這樣 options有很大的發揮空間 然後put patch delete真的是很麻煩 還要帶_method才能用 不然就是用blade
不過axios那類的套件一般都是直接支援 算不錯了
然後match就是吻合特定幾個 後面是一個陣列 any就什麼東西都給我進來的概念
Route::redirect('/here', '/there', 301);
這東西是拿來重新導向的 後面那個是http status code
我記得300多的都是重新導向的code
Route::view('/welcome', 'welcome');
這支就是一開始就在的傢伙(是它嗎 感覺好像認錯人)
舊版的寫法是長這樣
Route::get('/welcome', function () {
return view('welcome');
});
然後還可以這樣帶參數
Route::view('/welcome', 'welcome', ['name' => 'bitxh']);
放在uri的參數長這樣
Route::get('user/{id}', function ($id) {
return 'User '.$id;
});
丟到Controller也是一樣的用法 直接接過來就好了 而且他好像不太管變數名稱 只看順序傳的
Route::get('user/{name?}', function ($name = null) {
return $name;
});
Route::get('user/{name?}', function ($name = 'John') {
return $name;
});
這個是選擇性參數 有時候挺好用的 不過有時候順序放錯就會引發路由錯亂 或是工程屍錯亂...
Route::get('user/{name}', function ($name) {
//
})->where('name', '[A-Za-z]+');
Route::get('user/{id}', function ($id) {
//
})->where('id', '[0-9]+');
Route::get('user/{id}/{name}', function ($id, $name) {
//
})->where(['id' => '[0-9]+', 'name' => '[a-z]+']);
這個是正規 其實我到現在還是只看得懂一點點正規...
然後一個很重要的東西
Route::get('user/profile', function () {
//
})->name('profile');
路由命名 讓你可以很簡單的用route('profile')來叫它 不用在那邊打一堆
之前都只是有用到的才會講的路由 這次終於可以完整地講了