首页 > 编程 > PHP > 正文

php魔术方法

2019-11-08 01:50:51
字体:
来源:转载
供稿:网友
__set(String name,mixed value) 该方法的作用是在程序运行过程中为私有的成员属性设置值,没有返回值,第一个参数传入私有属性设置值时的属性名,第二个参数则需要传入为属性设置的值,并且这个方法不需要主动调用,可以在方法前面也加上PRivate关键字修饰,这个方法是在用户为私有属性设置值时自动调用__get(String name) 在类的外部获取私有属性的值时,会自动调用此方法,返回私有属性的值,也可以在方法前面加上private关键字,防止用户直接去调用他__isset(String name) 当调用isset()方法是,如果对象的属性private,会自动调用__isset() __unset()方法同理__clone 通过clone关键字时,如果需要对克隆后的副本对象在克隆时重新赋值,该方法是在对象克隆时自动调用的。该方法自动包含$this和 $that两个对象的引用,$this是副本对象的引用,而$that 则是对原本对象的引用__toString() 快速获取对象的字符串表示的最便捷的方式,在直接输出对象引用时自动调用的方法__call 如果尝试调用对象中不存在的方法,会报错,可以在类中添加__call 方法,则调用对象中不存在的方法时就会自动调用该方法,该方法有两个参数,第一个参数是调用不存在的方法时,接受这个方法名称字符串,而参数列表则以数组的形式传递到__call方法的第二个参数中__sleep 实现对象串行化时会调用该方法,该方法返回的数组中包含的属性会被串行化,否则不会,如果不实现该方法,则默认串行化所有属性__wakeup 返串行化时调用,用来在二进制串重新组成一个对象时,为新对象中的成员属性重新初始化
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表