本文实例讲述了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访问地址的方法分析相关推荐

  1. php重定义地址栏url,thinkphp框架实现路由重定义简化url访问地址的方法分析

    本文实例讲述了thinkphp框架实现路由重定义简化url访问地址的方法.分享给大家供大家参考,具体如下: 如果按照正常访问的话,则需要输入一长串的url地址,这样会显得十分冗长,我可以可以通过对路由 ...

  2. jboss url路径_在JBoss的服务器端正确解码URL参数

    jboss url路径 我今天花了很多时间来弄清楚如何在运行在JBoss上的JSF应用程序中(使用JBoss 7 Final)强制正确解码编码的字符. 当您有例如通过URL传递中文字符时,就会发生此问 ...

  3. java url拦截器框架_使用Spring Interceptor实现URL访问校验

    本文中介绍我在简单的实际应用中,针对登录用户的访问权限问题的具体实现,整体设计如下图: 图中请求进入Spring容器后会对用户的有效性.权限进行验证,只有验证都通过之后才能进入实际业务逻辑. 上图的实 ...

  4. laravel 模板继承_Laravel框架模板之公共模板、继承、包含实现方法分析

    本文主要介绍了laravel框架模板之公共模板.继承.包含实现方法,结合实例形式分析了Laravel框架中公共模板的建立.模板包含.模板继承等相关操作技巧,需要的朋友可以参考下,具体如下: 简介: 利 ...

  5. ssm上传文件获取路径_ssm框架实现图片上传显示并保存地址到数据库(示例代码)...

    本案例是通过springmvc+spring+mybatis框架以商品上传为例,实现的图片上传功能,并把图片的地址保存到数据库并在前台显示上传的图片. 本项目是使用maven搭建的项目,首先看下项目结 ...

  6. 【ThinkPHP系列篇】ThinkPHP框架使网页能够在浏览器中访问(二)

    在第一小节中,我们介绍了Thinkphp的搭建过程,在这一节,分享一下如何让网页模板在thinkphp环境中显示给我们. a) 将网页模板放在View视图中并根据名称分别创建文件夹,分模块建立 比如: ...

  7. 测试php框架漏洞,ThinkPHP框架通杀所有版本的一个SQL注入漏洞详细分析及测试方法...

    作者: seay 下面是摘自thinkphp官方的一个公告,官方直接贴出这些东西是非常不负责的行为,跟上次apache公开的Struts2的代码执行一样的行为,会造成很多用户被黑.建议类似的厂商不要再 ...

  8. /plus/recommend.php sql注入漏洞,代码审计:ThinkPHP框架通杀所有版本的一个SQL注入漏洞详细分析及测试方法 | Seay 渗透 编程 代码审计 网络安全博客...

    显示不全请点击全屏阅读 下面是摘自thinkphp官方的一个公告,官方直接贴出这些东西是非常不负责的行为,跟上次apache公开的Struts2的代码执行一样的行为,会造成很多用户被黑.建议类似的厂商 ...

  9. yaf 重写index.php,php框架Yaf路由重写

    php框架Yaf路由重写 通常为了友好的URL格式,会进行站点URL的重写,可以在webserver(Nginx)的配置中进行rewrite,也可在在程序端进行 以下使用Yaf框架进行URL的重写,进 ...

  10. 基于域名或URL路径进行转发

    基于域名或URL路径进行转发 更新时间:2020-08-18 09:07:49 编辑我的收藏 本页目录 域名或URL路径转发 添加域名或URL路径转发策略 编辑转发策略 删除转发策略 负载均衡支持配置 ...

最新文章

  1. 浅谈Android五大布局——LinearLayout、FrameLayout和AbsoulteLa
  2. loadrunner中错误为27796的一个解决方法
  3. ORA-12514 监听程序当前无法识别连接描述符中的服务
  4. VMware vSphere: What’s New [V 5.1]
  5. 【转载】使用WatiN对ASP.NET页面进行单元测试
  6. 初始化创建画布_使用HTML5,画布和开放数据创建全球降水(雨)可视化
  7. Lucene 全文搜索解析
  8. matlab 函数 命名参数,如何处理MATLAB中的函数参数的名称/值对
  9. Windows 安装 Redis
  10. cxTreeList 控件说明
  11. Objective-C语法之集合对象的那些事儿(九)
  12. Git 代码防丢指南,再也不怕丢失代码了!
  13. P4213 【模板】杜教筛(杜教筛)题解
  14. Gallery of Processor Cache Effects
  15. 交通灯程序设计C语言,单片机C语言程序设计:LED 模拟交通灯
  16. 【优化调度】基于人工鱼群算法求解梯级水库优化调度matlab源码
  17. 就业管理系统(Java毕业设计)
  18. 小程序配置px2rem
  19. Cocos Studio images文件与CSB的路径相对关系
  20. 在电脑上构建自我意识

热门文章

  1. iOS并发编程(GCD)学习笔记
  2. 报错:'utf-8' codec can't decode byte 0xb0 in position 0: invalid start byte
  3. Mac OS X安装之硬盘和光盘引导总结
  4. android idle模式
  5. Ajax模拟Form表单提交,含多种数据上传
  6. C51寄存器详解(Reg51.h)
  7. OSPF与EIGRP的比较
  8. 数据源为XML的GridView操作
  9. Windows Workflow HOL学习笔记(七):添加一个验证来检查Email参数
  10. duplicate symbols for architecture arm64的问题结决方法