PHP面向对象-----魔术方法
2024-09-21 09:18:36
PHP面向对象-----魔术方法
__get($name)--触发时机:当调用一个不访问的成员属性的时候,会自动触发,可以利用这个方法来完成对不可调用的属性进行调用,但是不能设置值
___set($name,
value)--触发时机:当给一个不可访问的成员属性赋值的时候,会自动触发这个方法,可以利用这个方法完成对不可以访问的属性进行赋值
__isset($name)---触发时机:当使用isset()函数来判断一个对象的属性的时候,如果这个属性不存在或者不能被访问的时候会触发这个魔术方法
__call($method,
args)---触发时机:当调用一个不存在的成员方法或者是不可访问的成员访问的时候会被触发
__callStatic($method,
args)--触发时机:当调用一个不存在的成员方法或者是不可访问的成员访问的时候会被触发
__unset()---触发时机:当要销毁一个不可访问的或者不存在的成员属性的时候会被调用
__sleep()---触发时机:当使用serialize把对象进行序列化的时候会被触发
php public function __sleep() { return array('xxx');//指定可以被序列化的属性 }
- __wakeup()
触发时机:当使用unserialize的反序列化的时候会被自动触发
```php
public function __wakeup()
{
}
```
- __toString()
触发时机:在echo一个对象的时候会被触发
PHP public function __toString() { return '小可爱'; }
- __clone()
对象复制可以通过 clone 关键字来完成(如果可能,这将调用对象的 __clone() 方法)
最新文章
- JS循环语句作业讲解(折纸、兔子生兔子、买东西组合)
- Hadoop学习笔记—1.基本介绍与环境配置
- HTTPS Web配置举例
- Solved Unable to copy the source file ./installer/services.sh to the destination file /etc/vmware-t
- acdream1197 Points In Cuboid
- Hive权限介绍
- ArcGIS for Android示例解析之空间查询-----QueryTask
- utf8汉字编码16进制对照
- HDU 5919 Sequence II(主席树)题解
- 【转】浅析Python中的struct模块
- 腾讯Tars环境搭建 ---- centos
- 多线程2.md
- 做好平衡有多难?谈MMO的职业设计
- Delphi字符串转日期,强大到窒息,VarToDateTime解决了困扰很久的小问题
- Populating Next Right Pointers in Each Node leetcode java
- java报错综合
- Python学习笔记六:数据库操作
- Centos7 配置ssh 免秘钥登陆
- 我看微软收购GitHub
- Object的原型拷贝-create、assign、getPrototypeOf 方法的结合