完整匹配 定义闭包

完整匹配
前面定义的路由是只要以hello开头就能进行匹配,如果需要完整匹配,可以使用下面的定义:
return [
// 路由参数name为可选
'hello/[:name]$' => 'index/hello',
];
当路由规则以$ 结尾的时候就表示当前路由规则需要完整匹配。
当我们访问下面的URL地址的时候:
http://tp5.com/hello // 正确匹配
http://tp5.com/hello/thinkphp // 正确匹配
http://tp5.com/hello/thinkphp/val/value // 不会匹配
闭包定义
二、URL和路由
本文档使用 看云 构建 - 26 -
还支持通过定义闭包为某些特殊的场景定义路由规则,例如:
return [
// 定义闭包
'hello/[:name]' => function ($name) {
return 'Hello,' . $name . '!';
},
];

 

//D:\LearnWebDevelop\php\thinkphp_5.0.5_full\application\route.php
    // 定义闭包
    'haha/[:name]' => function ($name='Tom') {
                          return 'Haha,' . $name . '!';
                      },
//http://localhost/tp5/index.php/haha/lucy
//Haha,lucy!

 


或者
use think\Route;
Route::rule('hello/:name', function ($name) {
return 'Hello,' . $name . '!';
});
提示:
闭包函数的参数就是路由规则中定义的变量。
因此,当访问下面的URL地址:
http://tp5.com/hello/thinkphp
会输出
Hello,thinkphp!

posted @ 2017-12-20 14:55  sky20080101  阅读(121)  评论(0)    收藏  举报