
ThinkPHP6路由:打造简洁URL,优化用户体验
ThinkPHP6框架生成的URL地址通常包含模块名,例如http://xxxxx/home/about/index,其中home为模块名。为了提升用户体验和URL美观度,我们可以隐藏模块名,将URL简化为http://xxxxx/about/index.html。本文将介绍如何在ThinkPHP6中自定义函数实现这一功能。
核心思路是创建一个自定义函数,接收ThinkPHP6自带url函数生成的URL字符串,并去除其中的模块名。具体实现如下:
首先,在项目的common.php文件中添加名为siteurl的自定义函数:
立即学习“PHP免费学习笔记(深入)”;
/** * 简洁URL生成函数 * @param string $url 路由地址 * @param array $vars 变量 * @param bool|string $suffix URL后缀 * @param bool|string $domain 域名 * @return string */function siteurl(string $url = '', array $vars = [], $suffix = true, $domain = false): string { $urlString = url($url, $vars, $suffix, $domain); //去除默认模块名home return str_replace('/home/', '/', $urlString);}
此函数调用ThinkPHP6的url函数生成URL字符串,然后使用str_replace函数将/home/替换为/,从而去除模块名。 最后返回处理后的URL字符串。
接下来,在模板文件中,使用自定义的siteurl函数生成URL链接:
通过此方法,即可在ThinkPHP6中隐藏默认模块名home,生成更简洁的URL,提升用户体验。 需要注意的是,此方法默认只处理home模块。如果您的默认模块名不同,请相应修改str_replace函数中的参数。
以上就是ThinkPHP6如何巧妙隐藏模块名,生成简洁URL?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1254442.html
微信扫一扫
支付宝扫一扫