如果要更改的变量在抽象类中声明,是否有办法在抽象类中执行 __set 方法,如果要更改的变量属于扩展抽象类的类,则运行不同的 __set。我确定我会以错误的方式解决这个问题,任何帮助将不胜感激。
abstract class abstract_class {
protected $protected_var;
function __set($name, $value)
{
echo "abstract __set";
}
}
class regular_class extends abstract_class {
private $temp;
function __set($name, $value)
{
echo "regular __set";
}
}
$class = new regular_class();
$class->protected_var = "value";
在上面的示例中,我希望输出“abstract __set”而不是输出“regular __set”。