几个问题:q1:
在OOP PHP中,子类使用父类设置var的最佳方法是什么,以及在父类中设置变量。
我想要做的是在子类中运行一个函数,该函数使用父类中的一个变量。
我通过将我想要访问的变量设置为public来完成它,并在调用函数时将其作为参数输入到子类中,但如果我可以简单地在子类的函数中获取它,那就更好了。
然后,要使用该函数的结果在父类中设置变量,我已将该值返回到父函数的setter类中。这一切都在行动中:
$parentClass->set_maxpages($childClass->setMaxPages($cparentClass->contents));
Q2:
当我实例化子类时,它运行paren'ts构造函数。如果子类具有自己的构造函数,它是否会覆盖parnt类构造函数。
答案 0 :(得分:7)
您可以通过$this->varname
访问公共和受保护的父成员变量:
class Parent
{
public $pub = 1; // anybody can access this
protected $pro = 2; // Parent and its children can access this
private $pri = 3; // only Parent can access this
}
class Child extends Parent
{
public function __construct()
{
// overrides parent's __construct
// if you need to call the parent's, you must do it explicitly:
parent::__construct();
var_dump($this->pub); // 1
var_dump($this->pro); // 2
var_dump($this->pri); // null ... not set yet because it's private
}
}