本文实例讲述了thinkphp框架实现路由重定义简化url访问地址的方法。分享给大家供大家参考,具体如下:
如果按照正常访问的话,则需要输入一长串的url地址,这样会显得十分冗长,我可以可以通过对路由规则的重新定义简化url访问地址。
<?phpnamespace app\index\controller;class index{ pub寒假什么时候放假lic function index(){ return '我是index'; } public function hello($name='world'){ return 'hello'.$name.'!'; }}?>
本来的访问路径应该是:
localhost/tp/index.php/index/index/hello
我们在路由定义文件(application/route.php)里面添加一些路由规则,如下:
return [ // 添加路由规则 路由到 index控制器的hello操作方法' hello/:name' => 'index/index/hello',];
这是以hello开头的并且带参数的访问都会路由到index控制器的hello操作方法。
此时路径可以写为:
localhost/tp/hello/thinkphp
此时输出结果为:
hellothinkphp!
改变路由规则后若使用原来的路径访问方法后,则会出现错误。
但此时有一个问题是,如果小蚂蚁避雨访问地址为:
localhost/tp/hello
话,会抛出 模板不存在的错误,因为在访问时,没有传参,而在定义路由规则时,则带有参数。
解决办法是在修改路由规则为:
return [ // 添加路由规则 路由到 index控制器的hello操作方法' hello/[:name'] => 'index/index/财务内控管理制度hello',];
使用保定学院分数线[]
把路由规则中的变量包起来,就表示该变量为可选,接下来就可以正常访问了。
当name参数没有传入值的时候,hello方法的name参数有默认值world,所以输出的内容为
hello,world!
除了路由配置文件中定义之外,还可以采用动态定义路由规则的方式定义,例如在路由配置文件(application/route.php)的开头直接添加下面的方法:
u think\route; route::rule('hello/:name', 'index/hello');
完成的效果和使用配置方式定义是一样的。
无论是配置方式还是通过route类的方法定义路由,都统一放到路由配置文件application/route.p感同身受什么意思hp文件中
本文发布于:2023-04-08 16:37:57,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/18f33c7cefe60513a282ec7210fccea6.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:thinkphp框架实现路由重定义简化url访问地址的方法分析.doc
本文 PDF 下载地址:thinkphp框架实现路由重定义简化url访问地址的方法分析.pdf
留言与评论(共有 0 条评论) |