sdxh0506 发表于 2015-12-24 10:01:00

php 的简单存在 (魔术方法作用之一:容错)

php // 重载  class Person{
  //定义属性
  public $name;
  private $age;
  
  //构造方法
  public function __construct($name,$age){
  $this->name =$name;
  $this->age=$age;
  }
  
  //获取魔术方法
  # @paramstring   $name
  public function __get($param){
  // return $this->$param;
  #允许被访问的属性
  $allow = array('age');
  if(in_array($param, $allow)){
  return $this->$param;
  }
  }
  
  
  //__set() 设置魔术方法
  #@paramstring $name
  #param   string $val
  public function __set($name,$val){
  $allow = array('age','money');
  if(in_array($name, $allow)){
  $this->$name=$val;
  }
  }
  
  // __isset() 判定数据
  public function __isset($name){
  return isset($this->$name);
  }
  
  //__unset 销毁数据
  public function __unset($name){
  //建立unset列表
  $allow =array('tail');
  if(in_array($name,$allow)){
  echo 'unset running';
  unset($this->$name);
  }
  }
  }
  
  //实例化
  $p = new Person('zp',21);
  $p->age = 200;
  
  echo $p->money = 200000000;
  $p->tail ="a";
  
  var_dump(isset($p->name));
  var_dump(isset($p->age));
  var_dump(isset($money));
  
  // var_dump(empty($tail));
  unset($p->tail);
  // var_dump($tail);
  
  
页: [1]
查看完整版本: php 的简单存在 (魔术方法作用之一:容错)