Laravel框架初学一路由(基本路由)
基本路由
Laravel最基本的路由:接收一个URI
和Closure闭包函数
,提供了定义路由的一种非常简单且富有表达力的方式
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。
由于初学,所以文中暂时也没有什么个人见解......
最新文章
- 搭建一套自己实用的.net架构(3)续 【ORM Dapper+DapperExtensions+Lambda】
- [LeetCode] Reverse Linked List 倒置链表
- Linux LVM学习总结&mdash;&mdash;删除卷组VG
- php://input
- CROC 2016 - Final Round [Private, For Onsite Finalists Only] C. Binary Table FWT
- java 12 - 5 带有缓冲区的字符流
- SET GLOBAL long_query_time=0
- React用JS 模拟动画介绍
- NotImplementedException未实现该方法或操作
- BZOJ 1037: [ZJOI2008]生日聚会Party( dp )
- ibatis实战之OR映射
- JavaScript面向对象的理解
- HTML特殊布局--------双飞翼布局
- ubuntu中gdb调试工具的使用
- MyCat分片规则--笔记(二)
- NSArray NSMutableArray
- Ansible--Ad-Hoc
- 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.
- Docker Weave 应用部署
- Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds
热门文章
- 【学习笔记】FreeMarker 之于Servlet与Stuts2的应用
- html_entity_decode() 将 HTML 实体转成字符原型
- codeforces9D How many trees?
- 20155226 2016-2017-2 《Java程序设计》第5周学习总结
- Node程序debug小记
- c语言学习笔记.链表.
- APScheduler API -- apscheduler.triggers.date
- reshape中的-1
- Callable和futrue、ExecutorService的用法
- ADB常用命令(二)