Laravel 5 基础教程 || 2.路由:链接与控制器的连接者 - 表严肃
直观的说,路由是用来解析地址栏中域名之后的部分的。
例子:baidu.com/lala
注意域名后的/lala
,这个就是一个路由规则。路由规则可以使我们灵活的控制用户的访问范围和深度,在Laravel中甚至可以被用于权限管理哦。
创建路由
路由文件
比如说你的Laravel项目目录叫mySite
,那么路由控制文件就在/mySite/app/Http/routes.php
中
这个文件一开始只有一条规则,类似这样(如果你发现不止一条,没关系,反正不管有多少我们都会删掉重写的,任性(︶^︶) ):
这是一条定义首页的路由规则,就是这条规则使我们看到了Laravel的默认首页,也就是安装成功后的的界面。(类似下方)
Route::get('/', function () {
return view('welcome');
});
无耻硬广进
无耻硬广出
第一个路由~
Route::('hello', function()
{
return 'Hello.';
});
解释:第一个传参是路由的地址(例:+baidu.com/hello),第二个传参是一个函数,聪明的你一定能猜到了(mua~)这个函数就是当路由匹配时触发执行的,如果你现在的测试地址是+localhost:8888那么,那么当你在浏览器地址栏输入+localhost:8888/hello然后来一个低调的回车你就会看到一个低调的“Hello.”
细心的同学可能发现我们使用的是return
而不是echo
,为什么可以直接打印字符串?Laravel就是这样的小背心,当他检测到你直接返回了字符串时会使用echo的方式,不止如此,当检测到返回的是数组时Laravel会将数组转换成json返回(暖男一枚,鉴定完毕)。
Route::get('hello', function () {
return [
'greet' => 'Hello',
'name' => 'XiaoBeiXin'
];
});
会输出:
路由传参
如果我们想在Hello后加动态的添加人名怎么办?
这么干:
Route::get('hello/{name}', function($name)
{
return 'Hello ' . $name . '.';
});
地址栏传参localhost:8888/hello/LiMing
输出:
那么怎么输出一个HTML文件雷?
不着急,后面和View一起讲。