zoukankan      html  css  js  c++  java
  • 解决jpgraph在php7.0版本下时,无法显示例子图表的问题

               解决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
    wamp64wwwjpgraph-4.0.2srcjpgraph_line.php on line 24。大概意思说现阶段的php
    版本不支持与类同名的构造函数,然后接着告诉我们错误发生的位置。
    
    
             第二步:根据错误日志提供的地址,打开相应的文件,找到具体的那一行。我这里
    是D:prefectwamp64wwwjpgraph-4.0.2srcjpgraph_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知识更新速度十分快速,我们一定要不断为自己充电,
    才能让自己的作品适应技术的发展。
  • 相关阅读:
    轮播闪白效果
    轮播图效果
    打字游戏简约版
    js购物时的放大镜效果
    单例模式
    docker
    【spring】注解梳理
    【spring源码-1】BeanFactory + XMLBeanFactory
    【设计模式】
    【大数据Spark】PC单机Spark开发环境搭建
  • 原文地址:https://www.cnblogs.com/as3lib/p/8166550.html
Copyright © 2011-2022 走看看