Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php多种魔术方法解析

php多种魔术方法解析

韦小宝
韦小宝asal
2017-11-15 09:18:291182semak imbas

PHP中把两个下划线开头的方法称为魔术方法,这些方法在PHP中充当了举足轻重的作用,魔术方法特别常见,特别是在封装的方法中,魔术方法也给实现封装类带来了很方便的用法

常见的魔术方法:

  1. construct() 实例化对象是被自动调用。当construct和以类名为函数名的函数 同时存在时调 用construct,另一个不背调用。类名为函数名的函数为老版的构造函数

  2. destruct() 当删除一个对象或一个对象操作结束是被调用。

  3. call() 对象调用某个方法。若方法不存在,这调用call 这个方法

  4. get() 读取一个对象属性,如果对象属性是私有的会调用它

  5. set() 给一个对象属性赋值时如果属性是私有的会调用它

  6. toString() 打印一个对象的时候会被调用。

  7. clone() 克隆对象时被调用,如:$a=new test(); $a1=clone $a;

  8. sleep() Serialize 之前被调用,若对象比较大,想删减一点东西在序列化可以用它。

  9. wakeup() Unserialize时被调用,做些对象的初始化工作。

  10. isset() 检测一个对象的属性是否存在如果 检测的属性是私有的时候会被调用。

  11. unset() 删除一个对象属性时如果 删除的对象属性是私有的会被调用

  12. set_state() 调用var_export时,被调用。用set_state的返回值做为var_export的返回值。

  13. autoload() 实例化一个对象时,如果对应的类不存在,则该方法被掉用。

掌握了以上的魔术方法,对于封装一个类来说,就没什么难度了。

相关推荐:

php魔术方法

php魔术方法对比使用实例代码详解

php魔术方法应用实例代码汇总

Atas ialah kandungan terperinci php多种魔术方法解析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn