Php, runkit, добавление нового метода — & gt; Apache падает

У меня есть абстрактный класс с методом, который я хочу вызвать:

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

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]