21、TP5路由规则

路由规则

继续基于上一章的案例代码,首先修改/application/index/controller/Index.php文件的内容:

class Index
{
    public function test($name,$gift)
    {
        return 'congratulation '.$name.', you got '.$gift.'!';
    }
}

然后修改/config/route.php文件,仅适用动态方式即可:

<?php
think\Route::rule('test/:name/:gift','index/index/test','GET',['ext'=>'shtml'],['name'=>'\w{3,8}','gift'=>'\w{1,10}']);
 ?>

根据规则传入两个参数给URLhttp://tp5.com/test/Mike/iphone.shtml,即可正常访问。

我们再对/application/index/controller/Index.php文件的内容进行一下修改,把gift参数作为默认参数,给它一个默认值:

class Index
{
    public function test($name,$gift='tissue')
    {
        return 'congratulation '.$name.', you got '.$gift.'!';
    }
}

同样的,再在路由规则中响应修改一下支持可选参数的:

<?php
think\Route::rule('test/:name/[:gift]','index/index/test','GET',['ext'=>'shtml'],['name'=>'\w{3,8}','gift'=>'\w{1,10}']);
 ?>

这样我们就能用不传入gift参数,就能自动用tissue来作为默认参数。

路由规则是路由技术的核心,后面要学习的路由参数、变量规则、分组路由、别名路由等都是围绕着如何简化创建路由规则进行的。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容