# 路由定义 路由定义在 `route` 目录下,在此目录下的所有文件会默认加载为路由配置,此目录下默认会包含一个 `route.php` 文件。 ## 定义路由规则 使用 `Route::rule` 定义路由,格式如下 ```php Route::rule('路由表达式','路由地址','请求类型'); ``` 其中 `路由表达式` 和 `路由地址` 是必须的, `请求类型` 可以省略,默认为 `get` 请求。 如下定义 : ```php Route::rule('hello', 'index/index/index', 'GET'); ``` 路由规则允许使用指定多种昂请求方式 : ```php Route::rule('hello', 'index/index/index', 'GET|POST'); ``` 此时,以下两种访问结果相同 : ```php http://www.my-tp5.com/hello http://www.my-tp5.com/index/index/index ``` >[success] 请求类型参数不区分大小写。 ## 快捷方法 ThinkPHP 中提供了一些常用请求方式的快捷方法 : | 类型 | 描述 | 快捷方法 | | ------ | -------- | ------ | | GET | GET请求 | get | | POST | POST请求 | post | | PUT | PUT请求 | put | | DELETE | DELETE请求 | delete | | PATCH | PATCH请求 | patch | | * | 任何请求类型 | any | 比如之前的路由可以重写为 ```php Route::get('hello', 'index/index/index'); Route::post('hello', 'index/index/index'); ``` ## 路由标识 如果需要快速的根据路由生成URL地址,可以在定义路由的时候指定生成唯一标识。 如 ```php // 老版本 Route::name('hello_page')->get('hello', 'index/index/test?name=quanzaiyu&age=22'); // V5.1.6+ Route::get('hello', 'index/index/test?name=quanzaiyu&age=22')->name('hello_page'); ```