基本路由

Laravel最基本的路由:接收一个URIClosure闭包函数
,提供了定义路由的一种非常简单且富有表达力的方式

Route::get("foo", function () {
    return "Hello World";
});

默认的路由配置文件

在Laravel里,所有的路由都被定义在项目中routes目录里的配置文件中。这些配置文件在项目运行时会被框架自动加载。
所有关于web接口的路由都被定义在routes/web.php文件里。这些路由被指派给web中间件组,这些web中间件
提供了诸如会话状态及CSRF保护等特性。在routes/api.php中配置的路由是无状态的,并且被指派给api中间件组。

对于大多数应用来说,使用者将从在routes/web.php中定义路由开始。在此文件中定义的路由,可以在浏览器中输入路由定义的URL
来访问。例如,你可以通过URL地址http://your-url.com/user来访问下面定义个路由:

Route::get("/user", "UserController@index");

定义在文件routes/api.php中的路由,会被嵌套在有app/Providers/RouteServiceProvider提供的路由组中。
在这个路由组中,URL前缀/api会被自动应用,所以不需要手动的去操作。但是可以通过修改app\Providers\RouteServiceProvider
文件来定义前缀以及路由组的其他选项。

可用的路由方法

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方法。或者,也可以使用any来处理所有http请求方式。

Route::match(["get", "post"], "/", function () {
    //
});

Route::any("foo", function () {
    //
});

CSRF保护

任何使用POST, PUT, DELETE方式提交的form表单都应该包含一个CSRF token字段。否则,此类请求可能会被注入。

<form method="POST" action="/profile">
    {{ csrf_field() }}
    ...
</form>

路由跳转

如果想定义一个路由跳转到其他的链接,可以使用Route::redirect方法。

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

Route::redirect("/baidu", "https://www.baidu.com", 301);

视图路由

如果希望路由只返回一个视图,那么可以使用Route::view处理,view方法接收三个参数,第一个参数是一个URI,第二个参数是一个试图名,第三个参数
为可选参数,可以传递一个数组到视图文件

Route::view("/welcome", "welcome");

Route::view("/welcome", "welcome", ["name" => "Taylor"]);

结束语

初学Laravel,奈何中文资料不多。只得靠自己不入流的英语边翻译边记录,希望能一步步的了解并深入Laravel。
由于初学,所以文中暂时也没有什么个人见解......

最新文章

  1. 搭建一套自己实用的.net架构(3)续 【ORM Dapper+DapperExtensions+Lambda】
  2. [LeetCode] Reverse Linked List 倒置链表
  3. Linux LVM学习总结&mdash;&mdash;删除卷组VG
  4. php://input
  5. CROC 2016 - Final Round [Private, For Onsite Finalists Only] C. Binary Table FWT
  6. java 12 - 5 带有缓冲区的字符流
  7. SET GLOBAL long_query_time=0
  8. React用JS 模拟动画介绍
  9. NotImplementedException未实现该方法或操作
  10. BZOJ 1037: [ZJOI2008]生日聚会Party( dp )
  11. ibatis实战之OR映射
  12. JavaScript面向对象的理解
  13. HTML特殊布局--------双飞翼布局
  14. ubuntu中gdb调试工具的使用
  15. MyCat分片规则--笔记(二)
  16. NSArray NSMutableArray
  17. Ansible--Ad-Hoc
  18. NuGet Install-Package报错解决Package Manager Console error - PowerShell version 2.0 is not supported. Please upgrade PowerShell to 3.0 or greater and restart Visual Studio.
  19. Docker Weave 应用部署
  20. Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds

热门文章

  1. 【学习笔记】FreeMarker 之于Servlet与Stuts2的应用
  2. html_entity_decode() 将 HTML 实体转成字符原型
  3. codeforces9D How many trees?
  4. 20155226 2016-2017-2 《Java程序设计》第5周学习总结
  5. Node程序debug小记
  6. c语言学习笔记.链表.
  7. APScheduler API -- apscheduler.triggers.date
  8. reshape中的-1
  9. Callable和futrue、ExecutorService的用法
  10. ADB常用命令(二)