脚本宝典收集整理的这篇文章主要介绍了PHP:将一个类变量声明为一个stdClass对象,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
所以,我经常做这样的事情
class foo { PRivate $bar = array(); }
…将某些类属性设置为数组.但是,我想使一个私人财产成为一个对象,而这样的东西:
class foo { private $bar = new stdClass(); }
我尝试了几个这样的变化,没有一个工作.这可以做吗对于奖金积分,您可以将私有财产分配为任何其他类别的对象吗?
谢谢!
class Foo { private $bar; private $baz; public function __construct() { $this->bar = new stdClass(); $this->baz = new Bat(); } public function __get($key) { if(isset($this->$key) { return $this->$key; } throw new Exception(sprintf('%s::%s cannot be accessed.',__CLASS__,$key)); } } $foo = new Foo(); var_dump($foo->bar); VAR_dump($foo->bat);
当你扩展类并需要覆盖构造函数,但是仍然希望在父类构造函数中的东西:
class FooExtended { protected $coolBeans; public function __construct() { parent::__construct(); // calls the parents constructor $this->coolBeans = new stdClass(); } } $foo = new FooExtended(); var_dump($foo->bar); var_dump($foo->bat); var_dump($foo->coolBeans);
以上是脚本宝典为你收集整理的PHP:将一个类变量声明为一个stdClass对象全部内容,希望文章能够帮你解决PHP:将一个类变量声明为一个stdClass对象所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。