在PHP中的类之间传递数据

时间:2010-10-01 21:11:08

标签: php oop class

几个问题:q1:

在OOP PHP中,子类使用父类设置var的最佳方法是什么,以及在父类中设置变量。

我想要做的是在子类中运行一个函数,该函数使用父类中的一个变量。

我通过将我想要访问的变量设置为public来完成它,并在调用函数时将其作为参数输入到子类中,但如果我可以简单地在子类的函数中获取它,那就更好了。

然后,要使用该函数的结果在父类中设置变量,我已将该值返回到父函数的setter类中。这一切都在行动中:

$parentClass->set_maxpages($childClass->setMaxPages($cparentClass->contents));

Q2:

当我实例化子类时,它运行paren'ts构造函数。如果子类具有自己的构造函数,它是否会覆盖parnt类构造函数。

1 个答案:

答案 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
  }

}