标签:php 魔术方法
__construct($argv1,$argv2,…)
功能:类的构造方法,作用是初始化对象
参数:任意多个,任意类型
返回值:无
__destruct()
功能:类的析构方法,对象被销毁时被调用,作用是释放内存
参数:无
返回值:无
__get($name)
功能:当程序员试图调用一个未定义或者不可见的成员变量(属性)的时候就会调用该方法,这个时候程序试图调用的成员变量的返回值是该方法的返回值;
参数:$name为试图调用的成员变量的名称,这个参数的传递是PHP自动完成的;
返回值:类型(不确定)注意该方法可以设置成私有的(构造方法不要设置成私有的)。
__set($name,$value)
功能:当程序试图给一个未定义或者不可见的成员变量(属性)赋值的时候就会自动调用该方法;
参数:$name,$value分别表示试图赋值的成员变量名称和成员变量的值,这两个参数的传递是PHP自动完成的;
返回值:这个方法不会返回值 注意该方法可以设置成私有的(构造方法不要设置成私有的)。
__toString()
功能:当程序试图输出一个对象类型的变量的时候PHP会自动调用该方法;
参数:没有参数,如果有会提示出错;
返回值:字符型(该方法必须通过return返回一个字符串);
__clone()
功能:在用clone关键字克隆一个对象的时候PHP会自动调用这个方法,是为了给克隆出来的对象增添自己的属性和方法;
参数:不用传递参数;
返回值:不用返回值;
__call($name,$argument)
功能:当程序试图调用一个不存在的成员方法的时候会自动调用该方法;
参数:PHP将自动调用的不存在的方法名传递给$name,不存在的方法中的参数整合为一个数组传递给$argument;
返回值:不用返回值;
__autoload($classname)
功能:在指定的路径下自动查找并导入实例化需要使用的类
参数:$classname为类名
返回值:无
__isset()
功能:当用isset($name)检测一个私有的成员变量的时候就会自动调用的方法,这个时候isset($name)的返回值就为该方法的返回值经过转化的布尔值(<除“0”>非空的字符串,非零,true,有单元的数组将会转化为true;0,“0”,空字符,NULL,没有单元的数组将会转化为false);
参数:$name为试图检测的成员变量的名称,这个参数的传递是PHP自动完成的;
返回值:类型(不确定)注意该方法可以设置成私有的(构造方法不要设置成私有的),当用isset()函数检测的是公
有成员变量的时候可以直接检测,如果没有__isset()方法而直接检测私有成员会得到不准确的结果即isset()会始终返回false;
__unset()
功能:当用unset($name)撤销一个私有的成员变量的时候就会自动调用该方法;
参数:$name为试图撤销的成员变量的名称,这个参数的传递是PHP自动完成的;
返回值:不能返回值,强制返回值将会出错,当用__unset()方法而直接撤销私有成员不会成功;
本文出自 “羊仔” 博客,请务必保留此出处http://5934497.blog.51cto.com/5924497/1665974
标签:php 魔术方法
原文地址:http://5934497.blog.51cto.com/5924497/1665974