🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 基础路由 URL 路由器可隐藏网站物理文件结构提高安全性,美化 URL 地址便于 SEO。 您将在 system/routes.php 中定义应用中的大多数路由。 大多数基本的 HDPHP 路由都只接受一个 URI 和 一个 闭包(Closure) 参数。 ##GET 路由 / 表示访问网站主页 ``` Route::get('/',function(){ return '后盾网 欢迎您'; }); ``` 设置路由路径 ``` Route::post('/show', function() { return 'Hello HDPHP'; }); ``` ##POST 路由 触发POST提交的场景很多,比如form标签设置methos='post' 或 jquery ajax提交设置type='POST',都有可能触发POST路由。 我们来能过实例讲解一下,比如HTML 模板代码如下: ``` <form action="user/add" method="post"> <input type="text" name="user"> <input type="submit"> </form> ``` 路由规则定义如下: ``` Route::post('/user/add', function() { p($_POST); }); ``` 当我们提交form表单时,因为数据提交方式为POST,并且提交地址与路由匹配,所以就会执行路由回调函数。 ##PUT路由 当提交方式设置为PUT,比如jquery中我们可以设置type为PUT,如果是普通form表单提交,我们也可以在表单中添加隐藏域。 html表单定义如下: ``` <form action="user/add" method="post"> <input type="text" name="user"> <input type="hidden" name="_method" value="PUT"> <input type="submit"> </form> ``` 路由定义如下: ``` Route::put('/user/add', function() { p($_POST); }); ``` PUT 提交的数据,我们还是使用$_POST获取 ##DELETE 路由 DELETET 定义的路由与使用PUT定义是一样的,下面是表单的设置: ``` <form action="user/del" method="post"> <input type="text" name="user"> <input type="hidden" name="_method" value="DELETE"> <input type="submit"> </form> ``` 路由定义如下 ``` Route::DELETE('/user/del',function(){ p($_POST); }); ``` ##所有 HTTP 请求 any 路由类型会识别所有有提交模式,而不是像GET模式,只能匹配GET提交 ``` Route::any('/user',function(){ return '你好 后盾网'; }); ``` ##方法欺骗 HTML 表单没有支持 PUT 或 DELETE 请求。所以当定义 PUT 以及 DELETE 路由并在 HTML 表单中被调用的时候,您将需要添加隐藏 _method 字段在表单中。 发送的 _method 字段对应的值会被当做 HTTP 请求方法。举例来说: ``` <form action="/user/api" method="POST"> <input type="hidden" name="_method" value="PUT"> </form> ```