>  기사  >  백엔드 개발  >  php魔术方法与魔术常量

php魔术方法与魔术常量

WBOY
WBOY원래의
2016-06-23 13:47:45947검색

当我们学习 对象的时候,经常会听到老师们说世界万物皆对象,那么也一定会听到魔术方法和魔术常量等概念,那我们在学习温习的时候自己随手总结的:

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__(所在的函数名), 的可以翻阅手册







성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.