php简化URL路径,thinkphp框架实现路由重定义简化url访问地址的方法分析
本文实例讲述了thinkphp框架实现路由重定义简化url访问地址的方法。分享给大家供大家参考,具体如下:
如果按照正常访问的话,则需要输入一长串的url地址,这样会显得十分冗长,我可以可以通过对路由规则的重新定义简化url访问地址。
namespace app\index\controller;
class Index{
public 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)的开头直接添加下面的方法:
use think\Route;
Route::rule('hello/:name', 'index/hello');
完成的效果和使用配置方式定义是一样的。
无论是配置方式还是通过Route类的方法定义路由,都统一放到路由配置文件application/route.php文件中
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
php简化URL路径,thinkphp框架实现路由重定义简化url访问地址的方法分析相关推荐
- php重定义地址栏url,thinkphp框架实现路由重定义简化url访问地址的方法分析
本文实例讲述了thinkphp框架实现路由重定义简化url访问地址的方法.分享给大家供大家参考,具体如下: 如果按照正常访问的话,则需要输入一长串的url地址,这样会显得十分冗长,我可以可以通过对路由 ...
- jboss url路径_在JBoss的服务器端正确解码URL参数
jboss url路径 我今天花了很多时间来弄清楚如何在运行在JBoss上的JSF应用程序中(使用JBoss 7 Final)强制正确解码编码的字符. 当您有例如通过URL传递中文字符时,就会发生此问 ...
- java url拦截器框架_使用Spring Interceptor实现URL访问校验
本文中介绍我在简单的实际应用中,针对登录用户的访问权限问题的具体实现,整体设计如下图: 图中请求进入Spring容器后会对用户的有效性.权限进行验证,只有验证都通过之后才能进入实际业务逻辑. 上图的实 ...
- laravel 模板继承_Laravel框架模板之公共模板、继承、包含实现方法分析
本文主要介绍了laravel框架模板之公共模板.继承.包含实现方法,结合实例形式分析了Laravel框架中公共模板的建立.模板包含.模板继承等相关操作技巧,需要的朋友可以参考下,具体如下: 简介: 利 ...
- ssm上传文件获取路径_ssm框架实现图片上传显示并保存地址到数据库(示例代码)...
本案例是通过springmvc+spring+mybatis框架以商品上传为例,实现的图片上传功能,并把图片的地址保存到数据库并在前台显示上传的图片. 本项目是使用maven搭建的项目,首先看下项目结 ...
- 【ThinkPHP系列篇】ThinkPHP框架使网页能够在浏览器中访问(二)
在第一小节中,我们介绍了Thinkphp的搭建过程,在这一节,分享一下如何让网页模板在thinkphp环境中显示给我们. a) 将网页模板放在View视图中并根据名称分别创建文件夹,分模块建立 比如: ...
- 测试php框架漏洞,ThinkPHP框架通杀所有版本的一个SQL注入漏洞详细分析及测试方法...
作者: seay 下面是摘自thinkphp官方的一个公告,官方直接贴出这些东西是非常不负责的行为,跟上次apache公开的Struts2的代码执行一样的行为,会造成很多用户被黑.建议类似的厂商不要再 ...
- /plus/recommend.php sql注入漏洞,代码审计:ThinkPHP框架通杀所有版本的一个SQL注入漏洞详细分析及测试方法 | Seay 渗透 编程 代码审计 网络安全博客...
显示不全请点击全屏阅读 下面是摘自thinkphp官方的一个公告,官方直接贴出这些东西是非常不负责的行为,跟上次apache公开的Struts2的代码执行一样的行为,会造成很多用户被黑.建议类似的厂商 ...
- yaf 重写index.php,php框架Yaf路由重写
php框架Yaf路由重写 通常为了友好的URL格式,会进行站点URL的重写,可以在webserver(Nginx)的配置中进行rewrite,也可在在程序端进行 以下使用Yaf框架进行URL的重写,进 ...
- 基于域名或URL路径进行转发
基于域名或URL路径进行转发 更新时间:2020-08-18 09:07:49 编辑我的收藏 本页目录 域名或URL路径转发 添加域名或URL路径转发策略 编辑转发策略 删除转发策略 负载均衡支持配置 ...
最新文章
- 浅谈Android五大布局——LinearLayout、FrameLayout和AbsoulteLa
- loadrunner中错误为27796的一个解决方法
- ORA-12514 监听程序当前无法识别连接描述符中的服务
- VMware vSphere: What’s New [V 5.1]
- 【转载】使用WatiN对ASP.NET页面进行单元测试
- 初始化创建画布_使用HTML5,画布和开放数据创建全球降水(雨)可视化
- Lucene 全文搜索解析
- matlab 函数 命名参数,如何处理MATLAB中的函数参数的名称/值对
- Windows 安装 Redis
- cxTreeList 控件说明
- Objective-C语法之集合对象的那些事儿(九)
- Git 代码防丢指南,再也不怕丢失代码了!
- P4213 【模板】杜教筛(杜教筛)题解
- Gallery of Processor Cache Effects
- 交通灯程序设计C语言,单片机C语言程序设计:LED 模拟交通灯
- 【优化调度】基于人工鱼群算法求解梯级水库优化调度matlab源码
- 就业管理系统(Java毕业设计)
- 小程序配置px2rem
- Cocos Studio images文件与CSB的路径相对关系
- 在电脑上构建自我意识
热门文章
- iOS并发编程(GCD)学习笔记
- 报错:'utf-8' codec can't decode byte 0xb0 in position 0: invalid start byte
- Mac OS X安装之硬盘和光盘引导总结
- android idle模式
- Ajax模拟Form表单提交,含多种数据上传
- C51寄存器详解(Reg51.h)
- OSPF与EIGRP的比较
- 数据源为XML的GridView操作
- Windows Workflow HOL学习笔记(七):添加一个验证来检查Email参数
- duplicate symbols for architecture arm64的问题结决方法