无法覆盖PHP类/函数

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了无法覆盖PHP类/函数脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我无法在我的本地Ubuntu测试LAMP服务器上覆盖子类中的函数,但是当上载到Web服务器时,相同的代码会导致所需的覆盖.

原班级:

class HandsetDetection {
    function HandsetDetection() {
        //code I wish to replace
    }
}

我的课:

class HandsetDetection_RespondHD extends HandsetDetection {
    function HandsetDetection() {
        //code I wish to use
    }
}

构造函数不参与.

在我的本地机器上使用的PHP版本是PHP 5.3.3-1ubuntu9.5与Suhosin-Patch(cli)(内置:2011年5月3日00:48:48)

覆盖成功的Web服务器上的PHP版本是5.2.17

你能想到为什么会这样吗?

解决方法

替换HandsetDetection()/通过为扩展类提供构造函数方法来阻止它被调用( Demo):

<?PHP

class A {

    function A() {
        echo "A() constructor\n";
    }
}

class B extends A {

    function __construct() {
        echo 'B() constructor',"\n";
    }

    function A() {
        echo "override\n";
    }

}

$x = new B();

事情应该好转.有关背景信息的说明,请参阅@edorians回答以及手册的链接等.

脚本宝典总结

以上是脚本宝典为你收集整理的无法覆盖PHP类/函数全部内容,希望文章能够帮你解决无法覆盖PHP类/函数所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: