class a
{
public function __construct()
{
$this->id = 123;
}
}
class b extends a
{
public function __construct()
{
echo parent::id;
}
}
如何将第一个类$ this中设置的变量传递给第二个类?
答案 0 :(得分:5)
正确的方法是在您的子类中简单地使用$this->id
。所有公共/受保护变量都可通过这种方式用于子类。通过指定$this->id
而不声明它,您已隐式将其公之于众。通常,您应该在基类中显式声明该变量,以记录您将其公开的意图:
class a
{
public $id;
public function __construct()
{
$this->id = 123;
}
}
请记住在尝试访问父类设置的成员之前调用parent::__construct()
。与某些语言(C ++)不同,不会自动为您调用父类的构造函数。
class b extends a
{
public function __construct()
{
parent::__construct();
echo $this->id;
}
}
答案 1 :(得分:0)
您可以使用parent::__construct()
来获取在父类中初始化的内容。如果您没有在子类中初始化任何内容,则可以避免子类中的__construct()
,它将自动获取父结构。