php5 学习记要(2)

php5 学习记录(2)一、重载性能1、属性和方法的重载php 允许通过实现特殊的代理方法对属性的访问和方法的调用

php5 学习记录(2)

一、重载性能

1、属性和方法的重载

php 允许通过实现特殊的代理方法对属性的访问和方法的调用进行重载,这些代理方法将在相关的属性或者方法不存在时调用。这种特性让你在中端这些动作并定义你自己的功能时获得巨大的灵活性。

你可以实现下面的方法原型:

function __get($property)// 传递属性的名字,并且返回属性值

function __set($property, $value)// 传递属性的名字和新的值

function __call($method, $args)// 传递方法的名字和一个数字索引的数组,数字包含传递的参数,第一个参数的索引是0。

?

?

class Users implements ArrayAccess {        private $uname;    function offsetExists($name) {        return $this->uname === NULL;    }    function offsetGet($name) {        return $this->offsetExists($this->uname) ? 'NULL' : $this->uname;    }    function offsetSet($name, $value) {        $this->uname = $value;    }    function offsetUnset($name) {        $this->uname = null;    }}$user = new Users();$user['name'] = 'xiezheng';// unset($user['name']);print $user['name'];
?

?

?