基本路由

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. Redis学习二:Redis入门介绍

    一.入门概述 1.是什么 Redis:REmote DIctionary Server(远程字典服务器) 是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内 ...

  2. github 新创建repositories

    1. 在github上新建repo 2. 找到改repo的地址,用命令git clone https://....,  拉取到本地 3. 打开一个单独的窗口,打开此文件夹 4. 创建自己的python ...

  3. Linux基础-free窥内存-dd探硬盘

    监控内存篇(RAM)-free free指令可以很直观的看到内存的使用情况 free -m指令以单位为MB的方式查看内存的使用情况(free命令读取的文件是/proc/meminfo) 这个表格的解释 ...

  4. ubuntu 14.04安装JDK

    As a workaround, you can install OpenJDK 8 from a PPA repository: 1. Open terminal from the Dash or ...

  5. [转]std::set、自定义类型与比较函数

    转自:http://www.189works.com/article-42025-1.html 怎样在set中放入自定义类型?这个问题通过谷歌就可以得到不少答案:1.定义一个函数对象并在定义set的时 ...

  6. SqlServer存储过程(增删改查)

    * IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值. CREATE PROCEDURE [dbo].[PR_NewsAffiche_AddNewsEntity] ( ...

  7. CentOS安装ANT

    第1步:下载ant apache-ant-1.9.2-bin.tar.gz http://archive.apache.org/dist/ant/binaries/ 第2步:解压 tar -zxvf ...

  8. 01 Go 1.1 Release Notes

    Go 1.1 Release Notes Introduction to Go 1.1 Changes to the language Integer division by zero Surroga ...

  9. 利用mysql的binlog恢复数据

    MySQL Binary Log也就是常说的bin-log, ,是mysql执行改动产生的二进制日志文件,其主要作用有两个: * 数据回复 * 主从数据库.用于slave端执行增删改,保持与maste ...

  10. collection.toArray(new String[0])中new String[0]的作用

    new string[0]的作用 比如:String[] result = set.toArray(new String[0]); Collection的公有方法中,toArray()是比较重要的一个 ...