有一个加密的 ioncube 类(我们称之为 A 类)。使用时继承了这个类(B类),重写了public方法。现在初始数据已经改变,你需要改变类A的私有属性。要改变对象的私有属性,我找到了https://3v4l.org/nCMor(说明https://habrahabr.ru/post/ 186718/ ), 但在这种情况下如何获得父类的私有财产?如果我直接使用A类,属性更新没有问题(使用上面的方法),但是我如何在创建的实例中重载所需的方法?我看着倒影,但不明白该怎么做。例子:
<?php
class A { //зашифрованный
private $field = array('field1', 'field2');
public function getNameTable(){
return 'Table1';
}
/*...... разные методы ......*/
}
class B extends A{
public function getNameTable(){
return 'Table2';
}
}
需要向 $field 数组中添加 1 个元素 'field3',但必须使用表 'Table2'
P.S. 我联系了A类的开发者,他说他已经不做这个了,也没有源码了。
Reflection用于修改private父类字段的示例 c结果在 ideone