温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php面向对象魔术方法

发布时间:2020-07-28 17:07:52 来源:网络 阅读:224 作者:lyy201109210 栏目:web开发

__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()方法而直接撤销私有成员不会成功;


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI