PHP魔术方法__GET、__SET使用实例
__get() - 读取不可访问属性的值时,__get() 会被调用。
__set() - 在给不可访问属性赋值时,__set() 会被调用。
<?php/**
* 清晰的认识__get() __set()
*/
class Example {
//公有的属性
public $public = 'pub' ;
//受保护的 - 子类中该属性可用
protected $protected = 'pro';
//私有的 - 只能此类使用此属性
private $private = 'pri';
//当访问对象中的属性不存在或者非公有属性的时候自动加载__get()方法
public function __get($name){
return '调用__get()方法:'.$name;
}
//当给对象的一个属性赋值的时候如果该属性不存在或者是非公有属性则自动加载__set()方法
public function __set($name,$value){
echo "\nname:".$name.',value:'.$value."\n";
}
}$example = new Example;
echo '<pre>';
echo $example->public."\n";
echo $example->protected."\n";
echo $example->private."\n";
echo $example->other."\n";
echo '<hr>';
$example->public = 'lic'; //这个赋值成功所有没有显示
$example->protected = 'tec';
$example->private = 'vat';
$example->other = 'er';
echo '<br/>';
echo '打印 public 属性:'.$example->public;
结果如下:
pub
调用__get()方法:protected
调用__get()方法:private
调用__get()方法:othername:protected,value:tec
name:private,value:vat
name:other,value:er
打印 public 属性:lic
您可能感兴趣的文章:
- PHP魔术方法__GET、__SET使用实例
- 详解php的魔术方法__get()和__set()使用介绍
- php面向对象之-魔术方法__set__get__unset__isset的使用-126
- 详解php的魔术方法__get()和__set()使用介绍
- 使用PHP魔术方法实现属性的set、get方法
- 详解php的魔术方法__get()和__set()使用介绍
- php魔术方法__SET 和 __GET 应用实例
- PHP中的魔术方法总结 :__construct,__destruct ,__call,__callStatic,__get,__set,__isset,__unset,__sleep,__wakeup, __toString.......
- PHP魔术方法之__set()和__get()
- PHP中的魔术方法总结:__construct,__destruct ,__call,__callStatic,__get,__set,__isset, __unset ,__sleep,__wakeup,__toString,__set_state,__clone,__autoload
- PHP 魔术方法__set() __get() 方法详解
- PHP使用方法重载实现动态创建属性的get和set方法
- php的魔术方法__get(),__set(),__call(),__callStatic()以及static延迟静态绑定
- php __set 和 __get方法使用介绍
- PHP中的魔术方法总结 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toStr
- PHP:魔术方法set和get的深入特性分析
- PHP 魔术方法之__set__get__unset__isset
- PHP中的魔术方法总结 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __uns
- 学习PHP面向对象(四)_get(),_set()的用法 这种方法不推荐使用
- PHP魔术方法__get()和__set() The magic method must have public visibility