class a
{
public function __construct()
{
$this->id = 123;
}
}
class b extends a
{
public function __construct()
{
echo parent::id;
}
}
Run Code Online (Sandbox Code Playgroud)
如何将第一个类$ this中设置的变量传递给第二个类?
正确的方法是简单地$this->id在子类中使用.所有公共/受保护变量都可通过这种方式用于子类.通过分配$this->id而不声明它,你隐含地将其公之于众.通常,您应该在基类中显式声明该变量,以记录您将其公开的意图:
class a
{
public $id;
public function __construct()
{
$this->id = 123;
}
}
Run Code Online (Sandbox Code Playgroud)
只需记住parent::__construct()在尝试访问父类设置的成员之前调用.与某些语言(C++)不同,不会自动为您调用父类的构造函数.
class b extends a
{
public function __construct()
{
parent::__construct();
echo $this->id;
}
}
Run Code Online (Sandbox Code Playgroud)