发布网友 发布时间:2022-04-28 02:50
共2个回答
懂视网 时间:2022-04-28 07:11
php5中魔术方法函数有:“__sleep”、“__wakeup”、“__toString”、“__construct”、“__destruct”、“__call”、“__get”、“__set”、“__isset”、“__unset”等。
推荐:《PHP视频教程》
php5中魔术方法函数
PHP5 中包含着很多的魔术方法,它们最典型的特点是都以双下划线 '__' 开头,这些魔术方法都是为了完成某些指定的功能而编写的。
__sleep,在 serialize() 序列化对象之前会调用这个函数。
__wakeup, 在 unserialize() 解序列化之前会调用这个函数。
__toString,当将对象转化为字符串的时候调用这个函数。
__construct,构造函数,当实例化一个对象的时候会调用此函数。
__destruct,析构函数,当对象实例被释放的时候调用。
__call,当调用类中没有的方法时候会调用这个函数。
__get,当访问一个类中没有的属性值时候调用。
__set,当设置一个类中没有的属性值时调用。
__isset,当调用外部的 isset() 函数检查类是否含有某个属性值时调用。
__unset,当删除类的某个属性值时调用。
__set_state,当时用var_export导出对象的属性和值的时候调用。
__clone,当复制某个累的实例的时候调用。
__autoload,当时用一个类而这个类还未被加载到页面中时会自动调用。
魔术常量:
__LINE__: 返回当前行号;
__FILE__: 返回文件的完整路径和文件名,如果用在包含文件里面,则返回包含文件名,自 php4.0.2开始,__FILE__总是包含一个绝对路径,而在此前的版本有时候会包含一个相对路径
__FUNCTION__: 返回函数名称(自 php4.3.0新加的)。自php5起本常量返回该函数被定义时的名称,区分大小写,在php4中该值总是小写;
__CLASS__: 返回类的名称,自 php4.3.0新加的,自php5起本常量返回该类被定义时的名称,区分大小写,在php4中该值总是小写的;
__METHOD__: 返回类的方法名。
热心网友 时间:2022-04-28 04:19
网页链接
__construct()//类每次实例化的时候调用
__destruct()//类释放资源的时候调用
__call()//$this->method() method不存在的时候调用
__callStatic()//new test()::method() method不存在的时候调用
_get()//获取不可访问的类内部变量调用。包括private protected 和不存在的时候
__set()///赋值不可访问的类内部变量调用。包括private protected 和不存在的时候
__isset()//判断不可访问的类内部变量调用
__unset()//删除不可访问的类内部变量调用
__sleep()//序列化类的时候调用 serialize(new teset)
__wakeup()//反序列化的时候调用unserialize(new teset)
__toString()// 字符串的方式调用类 echo new test();
__invoke()//函数方式调用类test(2);
__set_state()//var_export(类)调用
__clone()//克隆的时候调用$obj2 = clone $obj;
__debugInfo//var_mp(new test())调用