基本路由

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。
由于初学,所以文中暂时也没有什么个人见解......

Laravel框架初学一路由(基本路由)的更多相关文章

  1. Laravel框架初学一路由(路由参数)

    必要参数 有时需要在路由中捕获到URI的一些参数.比如,需要捕获URI中的用户id,可以这样来定义路由 Route::get("user/{id}", function ($id) ...

  2. Laravel框架下路由的使用(源码解析)

    本篇文章给大家带来的内容是关于Laravel框架下路由的使用(源码解析),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 前言 我的解析文章并非深层次多领域的解析攻略.但是参考着开发文 ...

  3. laravel基础知识学习总结(路由、中间件、控制器)

     路由: 路由:是将信息从源地址传递到目的地得角色 Route::get('/test',function(){ });  //分号不能丢 报错信息MethodNotAllowedHttpExcept ...

  4. laravel 增删改查 数据库设置 路由设置

    laravel 框架的路由设置: url: http://www.shanzezhao.com/laraverl/my_laravel/public/index.php/indexs laravel ...

  5. MVC系列——MVC源码学习:打造自己的MVC框架(三:自定义路由规则)

    前言:上篇介绍了下自己的MVC框架前两个版本,经过两天的整理,版本三基本已经完成,今天还是发出来供大家参考和学习.虽然微软的Routing功能已经非常强大,完全没有必要再“重复造轮子”了,但博主还是觉 ...

  6. [麦先生]初学Laravel框架与ThinkPHP的不同(1)

    作为一个PHP菜鸟初学Laravel框架 在学习过程中我发现了其与TP框架的不同点,由于时间问题和认识还不够完善我先写出其中几点,有错误的地方希望各位大牛斧正... 1.渲染模版方式的不同:在Lara ...

  7. Laravel 5.2 二、HTTP路由、创建控制器 与 资源路由

    一.HTTP路由 所有路由都定义在 App\Providers\RouteServiceProvider 类载入的 app/Http/routes.php文件中. 1. 基本路由 简单的 Larave ...

  8. 第二百六十四节,Tornado框架-基于正则的动态路由映射分页数据获取计算

    Tornado框架-基于正则的动态路由映射分页数据获取计算 分页基本显示数据 第一步.设置正则路由映射配置,(r"/index/(?P<page>\d*)", inde ...

  9. 第二百六十三节,Tornado框架-基于正则的动态路由映射

    Tornado框架-基于正则的动态路由映射 1.在路由映射条件里用正则匹配访问路径后缀2.给每一个正则匹配规则(?P<设置名称>)设置一个名称,3.在逻辑处理的get()方法或post() ...

随机推荐

  1. Java并发编程原理与实战二十四:简易数据库连接池

    public class MyDataSource { private static LinkedList<Connection> pool = new LinkedList<> ...

  2. [转载]PayPal为什么从Java迁移到Node.js,性能提高一倍,文件代码减少44%

    http://ourjs.com/detail/52a914f0127c763203000008 大家都知道PayPal是另一家迁移到Node.js平台的大型公司,Jeff Harrell的这篇博文 ...

  3. [hadoop]hadoop api 新版本与旧版本的差别

    突然现在对以后的职业方向有些迷茫,不知道去干什么,现在有一些语言基础,相对而言好的一些有Java和C,选来选去不知道该选择哪个方向,爬了好多网页后,觉得自己应该从java开始出发,之前有点心不在焉,不 ...

  4. 【BZOJ】2434: [Noi2011]阿狸的打字机 AC自动机+树状数组+DFS序

    [题意]阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机.打字机上只有28个按键,分别印有26个小写英文字母和'B'.'P'两个字母. 经阿狸研究发现,这个打字机是这样工作的: l 输入小写 ...

  5. HDU 3065 病毒侵袭持续中 (AC自动机)

    题目链接 Problem Description 小t非常感谢大家帮忙解决了他的上一个问题.然而病毒侵袭持续中.在小t的不懈努力下,他发现了网路中的"万恶之源".这是一个庞大的病毒 ...

  6. MySQL练习-主外键多表查询

    练习: 1.建立表关系: 请创建如下表,并创建相关约束 USE db1; CREATE TABLE class( cid INT AUTO_INCREMENT PRIMARY KEY, caption ...

  7. SQL Server 2000事务复制问题

    2000现在用的估计不多了,把之前收集的一些复制问题整理发布出来.可能都是些很白很二的问题,但人总是由最初的无知不断成长●-● SQL Server 2000事务复制问题服务器A(发布) 服务器B(分 ...

  8. c++ static静态

    在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用.所以在所有对象中都可以共享它.使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节 ...

  9. 最长上升子序列O(nlogn) 要强的T^T(2358)

    题目来源:http://www.fjutacm.com/Problem.jsp?pid=2358 要强的T^T TimeLimit:1000MS  MemoryLimit:65536K 64-bit ...

  10. qt中int与string的相互转换

    我经常搞错这个问题,一直以为整形int b可以直接使用函数toString呢! 但是在qtCreator中在整形后面不管怎么按点(可以自动提示)他就是不给我提示,我就纳闷了这样居然不行 百度了之后才知 ...