当前位置:首页 > PHP教程 > php高级应用 > 列表

php提示Redefining already defined constructor for class 错误

发布:smiling 来源: PHP粉丝网  添加日期:2018-10-20 11:41:55 浏览: 评论:0 

本地PHP环境PHP5.4,安装ecshop2.7.3后,很多地方会报如下的错。

Redefining already defined constructor for class XXX

检查代码可以发现,对应的位置是某个类的构造函数,具体写法如下:

  1. /** 
  2.      * 构造函数 
  3.      * 
  4.      * @access  public 
  5.      * @param 
  6.      * 
  7.      * @return void 
  8.      */ 
  9.     function alipay() 
  10.     { 
  11.     } 
  12.  
  13.     function __construct() 
  14.     { 
  15.         $this->alipay(); 
  16.     } 

其中使用和类名相同点函数名作为构造函数是php4时代的写法,php5时代的构造函数是 __construct(),ecshop为了兼容老版本的php,所以采用了上面的写法。

但是从php5.4开始,对于这样的两种写法同时出现的情况,要求必须__construct()在前,同名函数在后,所以只需要对调两个函数的位置即可。

Tags: Redefining already

分享到: