変更中の変数が抽象クラスで宣言されている場合に抽象クラスの __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";
上記の例では、「通常の __set」が出力されるのではなく、「抽象 __set」が出力されるようにします。