完整匹配 定义闭包
完整匹配
前面定义的路由是只要以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!

 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号