我需要一个父类来访问它的子属性:
class Parent {
private $_fields = null;
public function do_something() {
// Access $_fields and $child_var here
}
}
class Child extends Parent {
private $child_var = 'hello';
}
$child = new Child();
$child->do_something();
当 $_fields
从子作用域被修改时,它在父作用域中仍然是 null
。当尝试使用 $this->child_var
从父作用域访问 $child_var 时,它当然是未定义的。
我没有找到像“函数集”这样的东西,可以在子类中复制...
最佳答案
看一篇关于 visibility 的文章.
基本上,您不能访问父级的private
属性/方法,父级也不能访问其子级的。但是,您可以改为声明您的属性/方法 protected
。
class Parent {
protected $_fields = null;
public function do_something() {
// Access $_fields and $child_var here
}
}
class Child extends Parent {
protected $child_var = 'hello';
}
$child = new Child();
$child->do_something();
关于php - 从父范围访问子属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7469759/