时间:2021-07-01 10:21:17 帮助过:7人阅读
直观的说,路由是用来解析地址栏中域名之后的部分的。
例子:baidu.com/lala
注意域名后的/lala,这个就是一个路由规则。路由规则可以使我们灵活的控制用户的访问范围和深度,在Laravel中甚至可以被用于权限管理哦。
比如说你的Laravel项目目录叫mySite,那么路由控制文件就在/mySite/app/Http/routes.php中
这个文件一开始只有一条规则,类似这样(如果你发现不止一条,没关系,反正不管有多少我们都会删掉重写的,任性(?^?) ):
这是一条定义首页的路由规则,就是这条规则使我们看到了Laravel的默认首页,也就是安装成功后的的界面。(类似下方)
Route::get('/', function () { return view('welcome');});
无耻硬广进
Laravel 5视频教程地址 - 表严肃讲堂(可试听)
所有课程: biaoyansu.com无耻硬广出
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一起讲。