更改子类中父类的变量的值

Gab*_*ias 2 php oop inheritance

class A {
    protected $a;

    // SOME CODE
}


class B extends A {
   // SOME CODE
}
Run Code Online (Sandbox Code Playgroud)

如何在B类中编辑变量$ a的受保护值?

我正在尝试使用parent::$a = "Some Value"但不起作用.

hek*_*mgl 5

protected实例属性,那些未声明使用的属性,static可以使用$this以下方法在子类中访问:

class A {
    protected $a;

    // SOME CODE
}


class B extends A {
   // SOME CODE
   public function edit($val) {
       $this->$a = $val;
       echo "a is now {$this->a}\n";
   }
}
Run Code Online (Sandbox Code Playgroud)

呼叫:

$b = new B();
$b->edit('foo'); // a is now foo
Run Code Online (Sandbox Code Playgroud)

请参阅手册,尤其是示例.