美文网首页
PHP Laravel学习之基本路由(二)

PHP Laravel学习之基本路由(二)

作者: 唐朝早晨 | 来源:发表于2018-07-16 20:33 被阅读0次

官方文档传送门:http://laravelacademy.org/post/7707.html


路由支持的请求方式:

我们可以注册路由来响应任何 HTTP 请求动作:

Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri,$callback);

除去上述 方式以外,我们还可以注册一个路由响应多种 HTTP 请求动作.

通过match方法实现

在route目录下web.php文件里编写:

Route::match(['get','post'],'ro',function(){
    return "同时识别get和post请求";
  });

在之前public里编写的form.php里分别修改请求方式:

上篇文章传送门:https://www.jianshu.com/p/13b0bab8ba59

get请求:



在测试 POST 请求之前,需要将对应路由取消 CSRF 保护检查,否则会返回 419 状态码导致无法请求成功,取消的方法是在 app/Http/Middleware/VerifyCsrfToken 中设置排除检查路由:



post请求:

两者完全跳转到了同一个route里。

通过 any 方法注册一个路由来响应所有 HTTP 请求动作:

  Route::any("bar",function(){
      return "any可以识别所有请求";
  });

通过form表单或者直接在浏览器里输入路由标识都可以跳入any定义的路由:


上述使用post请求的时候之所以要取消CSRF保护检查请查看官方文档:http://laravelacademy.org/post/7820.html

路由重定向

定向到其他 URI 的路由,可以使用 Route::redirect 方法,定义方法如下:

Route::redirect('/here', '/there', 301);

其中/here是原路由,/there是重定向后的路由,301用于标识重定向的HTTP 状态码。
重定向:

Route::redirect('ro','foo',301);

浏览器访问ro,则重定向到foo;

路由视图

使用路由返回一个视图,可以使用 Route::view 方法,和 redirect 方法类似,这个方法也很方便,以至于你不需要在额外定义一个路由或控制器。view 方法接收一个 URI 作为第一个参数,以及一个视图名称作为第二个参数,此外,你还可以提供一个数组数据传递到该视图方法作为可选的第三个参数,该数组数据可用于视图中的数据渲染。

Route::view('/welcome', 'welcome');
Route::view('/welcome', 'welcome', ['name' => 'Laravel学院']);

具体实现:
route目录下web.php文件:



resources目录下views目录下welcome.blade.php文件:


结果显示:


相关文章

网友评论

      本文标题:PHP Laravel学习之基本路由(二)

      本文链接:https://www.haomeiwen.com/subject/rutipftx.html