## 路由
### 路由方法
`get`、`post`、`put`、`patch`、`delete`、`options`、`match`、`any`
### CSRF保護
表單中必須包含`@csrf`
### 重定向
`Route::redirect('/pre','/now');`
#### 修改重定向狀態碼(默認302)
1. `Route::redirect('/pre','/now', 301);`
2. `Route::permanentRedirect('/pre', '/home');`
### 視圖路由
`Route::view('/pre','pre', ['name' => 'aaa'])`
第一個參數為路由,第二個參數為訪問視圖,第三個參數省略,為傳遞給視圖的參數
### 路由參數
1. 路由的參數通常都會被放在?`{}`?內,并且參數名只能為字母,同時路由參數不能包含?`-`符號,如果有需要,可以用下劃線 (`_`) 代替。路由參數會按順序依次被注入到路由回調或者控制器中,而不受回調或者控制器的參數名稱的影響。
2. `{name?}`為可選參數,但是必須保證有默認值
#### 正則約束
`->where('name', '[A-Za-z]+')`
#### 全局約束
如果你希望某個具體的路由參數都遵循同一個正則表達式的約束,就使用`pattern`方法在`RouteServiceProvider`的`boot`方法中定義這些模式
```
public function boot()
{
//
Route::pattern('id', '[0-9]+');
parent::boot();
}
```
### 路由命名
```
Route::get('user/profile', function () {
//
})->name('profile');
```
1. 為路由指定了名稱后,就可以使用全局輔助函數`route`來生成鏈接或者重定向到該路由:
```
// 生成 URL
$url = route('profile', ['id' => 1]);
// 生成重定向
return redirect()->route('profile');
```
#### 檢查當前路由
如果你想判斷當前請求是否指向了某個命名過的路由,你可以調用路由實例上的`named`方法。例如,你可以在路由中間件中檢查當前路由名稱:
### 路由組
### 中間件
```
Route::middleware(['first', 'second'])->group(function () {
Route::get('/', function () {
// 使用 first 和 second 中間件
});
Route::get('user/profile', function () {
// 使用 first 和 second 中間件
});
});
```
### 命令空間
另一個常見用例是使用 namespace 方法將相同的 PHP 命名空間分配給路由組的中所有的控制器
```
Route::namespace('Admin')->group(function () {
// 在 「App\Http\Controllers\Admin」 命名空間下的控制器
});
```
### 前綴
#### 路由前綴
`Route::prefix('admin')`
#### 路由名稱前綴
`Route::name('admin.')`
- php
- 安全
- php7
- 特性
- 編譯安裝
- 源碼整體框架
- 基本變量
- thinkphp3.2.3
- thinkphp5.0
- thinkphp6.0
- laravel
- 配置
- 路由
- artisan控制臺
- eloquent
- tinker
- composer
- 加密解密
- 小知識點
- 數組
- string
- 代碼簡潔之道
- 編譯
- 語法糖
- lumen
- smarty
- 錯題集
- 算法及數據結構
- 線性表結構
- 插入排序
- 冒泡排序
- 數據庫
- mysql
- oracle
- PostgreSQL
- redis
- sqlserver
- 前端
- 備忘
- js
- nodejs
- vue
- css
- electron
- vue
- 語法糖
- colorui使用筆記
- 微信小程序
- 操作系統
- windows
- bat
- 快捷鍵
- linux
- sed
- 問題解決
- git
- docker
- docker-compose
- 正則表達式
- ps
- lua
- 協議相關
- 問題思索
- Golang
- 測試
- 讀取和寫入json配置文件
- 類
- 接口
- mod
- gin
- fyne
- 禪道二次開發
- 服務
- apache
- 漏洞配置
- http server優化
- nginx
- 安裝
- 面試題庫
- freeswitch