php 魔术方法

2025-04-24 18:38:07

1、魔术方法 __set触发时机: 类中声明多稍僚敉视个私有属性重新赋值时作用: 在程序运行过程中未私有的成员属性设置值参数: @string name 成员属性名@mixed value 成员舛匀砖察属性值返回值:有,数组类型,每个元素都是一个成员属性值注意事项:如果不在类中添加这个方法而直接为私有属性赋值,会出现”不能访问某个私有属性”的错误魔术方法 __get触发时机: 在对象的外部获取私有属性的值时,调用此方法.作用: 通过它可以在对象的外部获取私有成员属性的值参数: @string name 成员属性名返回值:有,返回成员属性值注意事项:如果不在类中添加这个方法而直接为私有属性赋值,会出现”不能访问某个私有属性”的错误魔术方法 __isset触发时机: isset()函数在类外部测定对象里面的私有属性时,自动调用作用: 当在一个未定义的属性上调用isset()函数时调用此方法参数: @string name 传入对象中的成员属性名作为参数返回值:有,返回布尔值魔术方法 __unset触发时机:使用unset函数删除对象中的成员函数被封装,就需要在类中添加”__unset”方法作用: 删除对象中的私有成员属性参数: @string name 传入对象中的成员属性名作为参数返回值:无魔术方法__toString()触发时机: echo 一个对象的时候触发作用: echo对象的时候返回字符串. 简化操作参数: 没有返回值: 必须有,必须是字符串注意事项: 返回值必须是字符串类型,其他类型不会自动转换魔术方法__clone()触发时机:在对象进行clone操作的时候自动触发作用: clone时修改部分成员属性.参数:无返回值:无注意:clone时使用clone对象的语法:变量=clone 对象变量;魔术方法__call触发时机:在调用不存在的成员方法时自动触发作用:1.屏蔽错误,2,自定义方法参数:2个 1.调用不存在的方法名2.调用时的所有实参组成的数组返回值:可有可无.注意事项; 该方法可以用于自定义方法,但是不要全部方法都是用call来定义..魔术方法__autoload()触发时机:当实例化对象或者类之间有继承关系,但是当前页面中不存在该类的情况下会自动触发该,魔术方法作用: 自动加载类参数: 1个 需要的类名返回值: 没有注意事项: 一般仅用于自动加载类.魔术方法 __sleep触发时机: 在对象串行化 serialize时自动触发.作用: 用于设定串行化的成员属性.参数: 没有返回值:有,数组类型,每个元素都是一个成员属性名注意事项:必须返回一个数组类型.魔术方法__wakeup触发时机: 在对象进行反串行化的时候自动触发.作用: 反串行化的时候自动修改成员属性.参数: 没有返回值: 不需要返回值注意事项:注意逻辑问题,一般只对需要反串行化时修改的属性进行设定.

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢