设为首页 收藏本站
查看: 677|回复: 0

[经验分享] php面向对象魔术方法

[复制链接]

尚未签到

发表于 2018-12-19 06:45:11 | 显示全部楼层 |阅读模式
__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)的返回值就为该方法的返回值经过转化的布尔值(非空的字符串,非零,true,有单元的数组将会转化为true;0,“0”,空字符,NULL,没有单元的数组将会转化为false);
参数:$name为试图检测的成员变量的名称,这个参数的传递是PHP自动完成的;
返回值:类型(不确定)注意该方法可以设置成私有的(构造方法不要设置成私有的),当用isset()函数检测的是公
有成员变量的时候可以直接检测,如果没有__isset()方法而直接检测私有成员会得到不准确的结果即isset()会始终返回false;
__unset()
功能:当用unset($name)撤销一个私有的成员变量的时候就会自动调用该方法;
参数:$name为试图撤销的成员变量的名称,这个参数的传递是PHP自动完成的;
返回值:不能返回值,强制返回值将会出错,当用__unset()方法而直接撤销私有成员不会成功;
  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-652980-1-1.html 上篇帖子: PHP与安卓和水果对接上传处理 下篇帖子: appserv下PHP无法加载MYSQL驱动
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表