## 路由
### 路由方法
`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