Php,runkit,添加新方法 - >阿帕奇崩溃了

时间:2014-11-01 12:42:59

标签: php runkit

我有一个抽象类,其中包含我想要调用的方法:

abstract class KLASS
{
    protected function pr()
    {
        return 'pr()';
    }
}
由于我甚至无法实例化,我在其上创建了一个图层:

class KLASS2 extends KLASS
{
}

这样:

$a = new KLASS2();

runkit_method_rename ('KLASS', 'pr', 'pr_old');
runkit_method_add ('KLASS', 'pr', '', 'var_dump (method_exists($this, "pr")); var_dump (method_exists($this, "pr_old")); return $this->pr_old();', RUNKIT_ACC_PUBLIC);

echo $a->pr();

那我在做什么?我将旧的pr()功能重命名为pr_old(),然后添加一个具有公共访问权限的新pr()。这个新的pr()调用旧的pr()例程,这会导致apache崩溃。请不要告诉我只是编辑课程,我必须保持所有课程不受影响。

最有趣的部分是,如果pr() 私有,则所有都可以正常工作

0 个答案:

没有答案