当我们学习 对象的时候,经常会听到老师们说世界万物皆对象,那么也一定会听到魔术方法和魔术常量等概念,那我们在学习温习的时候自己随手总结的:
php中常见的魔术方法有哪些呢?
1)魔术方法都以 __双下划线开头!
例如:
__construct();
__destruct();
__clone();
__sleep();
__wakeup();
__get()
__set();
__isset();
__unset();
__call();
__callStatic()
注意:也许你也许会说__开头的都是魔术方法吗?__autoload()每个类都可有,所以我暂时理解为魔术函数吧!希望高手补充
2)
__invoke(),当将一个对象当作函数调用时,会自动调用该对象的__invoke()这个魔术方法!调用对象,其实就是调用对象的__invoke()方法。前提__invoke()需要存在!
可以联想到匿名函数,也就是所谓的闭包函数!那么想一想动态函数,还有$ object = new A; $object[‘a‘]?
3)__tostring,
当将对象当作字符串使用时,会调用该方法,该方法的返回值,就是对象转成字符串的结果!
通常使用方法:配合序列话使用
接下来说一说魔术常量:
__CLASS__.__METHOD__.__FILE__, __LINE__, __DIR__, __FUNCTION__(所在的函数名), 的可以翻阅手册
原文地址:http://blog.csdn.net/benshuhuai/article/details/40055799