<?php
header("Content-Type: text/html; charset=utf-8");
class person{
private $name;
protected $age;
public function __construct($name,$age){
$this -> name = $name;
$this -> age = $age;
}
public function is_set($name){
return isset($this -> $name);
}
/*
* 魔术方法__isset 自动调用
* 在类的外部用函数is_set判断私有的、受保护的成员属性时被自动调用
* 参数:判断的成员属性名
* 作用:可以按需求去返回false和true
*/
public function __isset($name){
if($name == 'age'){
return false;
}
return isset($this -> $name);
}
}
$person = new person('精灵',20);
echo $person -> is_set('name');
echo $person -> is_set('age');
//var_dump($person -> is_set('name'));//原始方法
//var_dump($person -> is_set('age'));//原始方法
?>
面向对象 __isset 魔术方法
最新推荐文章于 2024-05-14 07:52:53 发布