解决Redefining already defined constructor for class...的问题

 更新时间:2015年12月4日 21:37  
本地PHP环境PHP5.4,安装ecshop2.7.3后,很多地方会报如下的错
Redefining already defined constructor for class XXX
检查代码可以发现,对应的位置是某个类的构造函数,具体写法如下:
其中使用和类名相同点函数名作为构造函数是php4时代的写法,php5时代的构造函数是 __construct(),ecshop为了兼容老版本的php,所以采用了上面的写法。
但是从php5.4开始,对于这样的两种写法同时出现的情况,要求必须__cons

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

Redefining already defined constructor for class XXX

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

/**
	     * 构造函数
	     *
	     * @access  public
	     * @param
	     *
	     * @return void
	     */
	    function alipay()
	    {
	    }
	 
	    function __construct()
	    {
	        $this->alipay();
	    }

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

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

改成如下写法:

/**
	     * 构造函数
	     *
	     * @access  public
	     * @param
	     *
	     * @return void
	     */
	     function __construct()
	    {
	        $this->alipay();
	    }
	    function alipay()
	    {
	    }
	 	


相关文章

  • Linux系统下安装PHP7.3版本

    这篇文章主要介绍了Linux系统下安装PHP7.3版本,本文含有详细的过程和配置过程,可以帮助你正确的配置php开发环境,需要的朋友可以参考下...2021-06-26
  • PHP实现两种排课方式

    这篇文章主要介绍了PHP实现两种排课方式,第一种排课方式比较好理解,开始时间和结束时间,第二种比较复杂一些,有开始上课时间和结束上课时间和第几周,具体实现代码参考下本文...2021-06-26
  • 你真的了解PHP中的引用符号(&)吗

    php的引用就是在变量或者函数、对象等前面加上&符号,但PHP中的&符号你真的了解吗?真的会用吗?下面随着小编来一起学习学习吧...2021-05-13
  • Laravel8 使用图形验证码做登录功能的实现

    这篇文章主要介绍了Laravel8 使用图形验证码做登录功能的实现,通过安装扩展包调用相关接口进行校验验证码是否正确,代码简单易懂,需要的朋友可以参考下...2021-06-19
  • 如何用RabbitMQ和Swoole实现一个异步任务系统

    从最开始的使用redis实现的单进程消费的异步任务系统到加入swoole的多进程消费模式,现在,我们的异步任务系统终于又能迈进一步。这回基于RabbitMQ的异步任务系统设计的的更加完善,包括多进程消费,异常重试等。...2021-05-30
  • 打开php页面出现内存位置访问无效的错误

    我自己站就碰到过,是IIS+php5isapi.dll查来查去发下是php5isapi.dll的路径弄错了...2013-05-19
  • php生成二维码的方法

    二维码(2-dimensionalbarcode),又称二维条码,最早起源于日本,它是用特定的几何图形按一定规律在平面(二维方向)上分布的黑白相间的图形,是所有信息数据的一把钥匙。在现代商业活动中,可实现的应用十分广泛...2013-07-17