解决jpgraph在php7.0版本下时,无法显示例子图表的问题
来源:互联网 发布:梁洛施 知乎 编辑:程序博客网 时间:2024/05/06 16:25
解决gpgraph4.02在php7.0显示空白框问题
Gpgraph类库强大的绘制图表的功能深受广大phper的喜爱,目前官方最新的版本是
jpgraph-4.0.2 ,适用于php5.0及7.0以上的版本。当我们安装gpgraph施展拳脚的时候,发现打开gpgraph的例子
的显示出来的就只是一个白色的方块,没有显示图表也没有任何提示信息。比如这样:
看了一下广官方网站也,也没有给出具体的方法。那我们只能自己摸索解决办法了。
其实方法很简单,几步就可以解决。
解决方案:
第一步:打开php的错误日志,我用的是wamp(其他开发环境也是大同小异),直
接单击任务栏图标=>php=>错误日志。直接用记事本打开, 打开后是这样子(建议打开
后清空错误日志的记录,以便于我们更好地定位错误)。
再次运行gpgraph的例子,然后打开错误日志,在这里我们就可以看到错误的具体
信息了。我这里提示的是 Methods with the same name as their class will not be con-
structors in a future version of PHP; LinePlot has a deprecated constructor in D:\prfec
\wamp64\www\jpgraph-4.0.2\src\jpgraph_line.php on line 24。大概意思说现阶段的php
版本不支持与类同名的构造函数,然后接着告诉我们错误发生的位置。
第二步:根据错误日志提供的地址,打开相应的文件,找到具体的那一行。我这里
是D:\prefect\wamp64\www\jpgraph-4.0.2\src\jpgraph_line.php on line 24。
接着定位到构造函数这一行:
我们只需要把function LinePlot改为function __construct即可。接下来再次运行gp
grap的example,就可以正常显示了(假若还是不能,还是按照上述的方法,定位错误,
修改函数名就可以了,因为不止一个类这样命名构造函数)正常的样子应该是这样:
原因剖析:
在php5之前的版本中为了兼容性,构造函数的命名可以是与类的名字相同,比如:
类名是“class LinePlot”,那么它的构造函数也就是“function LinePlot”,相信学
过php面对对象编程的同学会有一定的了解。到了php7.0的版本,为了让php更加的规范,
减少歧义就放弃了这种写法,统一以“function __construct”来创建构造函数。在本次的
教程中,可能是gpgraph的作者,疏忽了php7.0的新特性,继续沿用以前的方法来出创建
构造函数,才出现这样的bug。
通过这次案例也提醒我们,IT知识更新速度十分快速,我们一定要不断为自己充电,
才能让自己的作品适应技术的发展。
阅读全文
3 0
- 解决jpgraph在php7.0版本下时,无法显示例子图表的问题
- 解决JasperReport在Linux下无法显示的问题!
- thinkphp中导入jpgraph之后无法显示图表
- 百度echart在ie下图表不显示的问题
- 解决Echarts图表在div动态切换时不显示的问题
- 如何解决一些控件无法运行在高版本的Chrome下运行的问题
- 解决在ADT20.0下AChartEngineDemo无法运行的问题
- 解决Sql Server Reporting Service在Chrome下无法显示Datepicker的问题
- 解决在Win7下使用schtasks命令显示 “错误:无法加载列表资源” 的问题
- 解决JasperReport在Linux系统下中文字体无法显示的问题
- 解决在Linuxmint18.1环境下fcitx无法显示候选框的问题
- 解决IDA Pro最新版在Mac OS平台下无法显示中文的问题
- 在没有安装vs.net或vs6.0的IE上无法正常显示OWC图表问题的解决方案
- jpgraph中文显示问题的简洁版
- 如何解决JpGraph中文乱码的问题
- VS2008ReportViewer控件,在IE8下浏览出现文本框中插入的图表无法显示
- 解决ubuntu下无法正确显示GBK编码的问题
- 解决ubuntu下无法正确显示GBK编码的问题
- 单例模式C++实现
- 统计学习方法笔记1--统计学习方法概论
- css清除浮动clearfix:after的用法详解(附完整代码)
- hdu—1002
- POJ 1050 To the Max
- 解决jpgraph在php7.0版本下时,无法显示例子图表的问题
- Debug:This kind of launch is configured to openthe debug perspective when it suspends
- Redis禁用flushAll,flushDb,keys命令
- machine learning key word (part one)
- 用户名密码正确,在登陆界面循环的问题centos7
- 两个有序链表的合并(递归)
- A*B Problem II
- machine learning key word (part two)
- [AtCoder ARC076 .F] [二分图] [霍尔定理] Exhausted?