标签:
<?php class Person { private $name = null; private $sex = null; private $age = null; /** * 构造函数 */ public function __construct($name) { $this->name = $name; } /** * 析构函数 */ public function __destruct() { echo ‘使用析构方法,销毁了对象!‘; } /** * 在对象中使用不存在的函数时候调用, * @param unknown $paramname 使用的函数名称 * @param unknown $paramarg 使用函数中的参数,数组形式 */ public function __call($paramname,$paramarg) { if ($paramname == ‘abc‘) { echo ‘参数名是abc‘.‘参数是:‘.$paramarg; } else { echo ‘参数名不是abc,是‘.$paramname.‘参数是:‘.$paramarg[0]; } } /** * 当对不可访问属性或不存在的属性进行赋值时 * @param unknown $paramname 属性名称 * @param unknown $paramarg 属性值 */ public function __set($paramname,$paramarg) { echo ‘不可访问的参数是:‘.$paramname.‘,值是:‘.$paramarg.‘<br/>‘; } /** * 当对不可访问属性或不存在的属性取值时候调用 * @param unknown $paramname 要取值得属性名称 */ public function __get($paramname) { if ($paramname == ‘name‘) { echo ‘你访问的是name属性,我要加上123‘.$this->name.‘123‘; } } /** * 魔术方法,直接输出对象时调用,使用return返回值。 */ public function __toString() { return ‘您直接输出了对象,如果没有__tostring()方法,会报错!‘; } /** * 当对不可访问属性或不存在的属性调用 isset() 或 empty() 时,__isset() 会被调用。 */ public function __isset($paramname) { echo ‘属性是:‘.$paramname.‘您对不可访问或不存在的属性使用了isset()或empty()方法!‘; } } ?>
标签:
原文地址:http://www.cnblogs.com/KTblog/p/5076572.html