php 父类调用子类属性,在PHP中,有没有办法从父类中的子类访问属性

我很确定没办法,但想要检查/确认。

我可以通过函数传递道具,但这需要改变一些我不喜欢的功能。我使用的是PHP 5.3。

例如:

class A{

public function accessProps(){

echo "about to show props
";

// cant access, child::?

var_dump($this->props);

}

}

class B extends A{

//want this accessible in parent class

public $props=array('green','blue','red');

public function sayHello(){

echo 'hello ';

var_dump($this->props);

}

}

$b=new B();

$a=new A();

$b->sayHello();

$a->accessProps();

?>编辑 - 我喜欢反思的想法,但会有点犹豫,只为这种情况添加反思。也许最简单/最简单的方法就是在需要它的类中传递道具,并将它作为构造函数中的可选参数。这样,不需要更改不需要它的类并访问需要它的类。我认为应该这样做。喜欢这个:

class A{

public function __construct($props=null){

if($props){

$this->props=$props;

}

}

}

class B extends A{

public $props=array('green','blue','red');

public function __construct(){

parent::__construct($this->props);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值