php表示私有变量的是,PHP:在类中获取访问私有变量

看看这种方法。

第一:创建实体,其存储和私有属性$数组内检索数据,并与魔__set(),__get()也可以这样做:$对象 - >变量= 123

第二:与人类扩展的实体,并添加一些特定于子类的功能(例如hasValidAge()):

class Entity {

private $attributes;

public function __construct($attributes = []) {

$this->setAttributes($attributes);

}

public function setAttribute($key, $value) {

$this->attributes[$key] = $value;

return $this;

}

public function setAttributes($attributes = []) {

foreach($attributes AS $key => $value) {

$this->setAttribute($key, $value);

}

}

public function getAttribute($key, $fallback = null) {

return (isset($this->attributes[$key]))?

$this->attributes[$key] : $fallback;

}

public function __get($key) {

return $this->getAttribute($key);

}

public function __set($key, $value) {

$this->setAttribute($key, $value);

}

}

class Human extends Entity {

public function __construct($attributes = []) {

$this->setAttributes($attributes);

$this->checkAge();

}

public function hasValidAge() {

return ($this->getAttribute('age') > 12)? true : false;

}

}

$boy = new Human(['name' => 'Mark', 'age' => 14]);

if($boy->hasValidAge()) {

echo "Welcome ".$boy->name."!";

}

?>

PS我删除了回声“欢迎!”部分来自构造函数,因为从模型对象进行回声并不酷,在我们的例子中,人类是实体的模型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值