PHP基础知识 - PHP魔术方法
PHP 13 个常用魔术方法:
__construct
、__destruct
、__call 或 __callStatic
、__get
、__set
、__isset
、__unset
、__toString
、__clone
、__autoload
、__invoke
、__sleep
、__wakeup
1. __construct
构造方法
__construct
构造方法,当一个类被实例化创建对象时,会调用构造方法。
2. __destruct
析构方法
__destruct
析构方法, 当对象在销毁之前或失去对对象的引用时,会调用 析构方法。
3. __call 或 __callStatic
当调用一个未定义的或没有权限的成员方法时,会调用
__call
方法。(当在静态方法中调用一个未定义的或没有权限的成员方法时,则会调用__callStatic
方法。)如果本类找不到调用的成员方法,会去父类中找。
如果本类找不到
__call
方法,会去父类中找。
4. __get
当调用一个未定义的或非公有的成员属性时,会调用
__get
方法。
5. __set
当给一个未定义的或非公有的成员属性赋值时, 会调用
__set
方法。
6. __isset
当在一个未定义的或非公有的成员属性上调用
isset
函数时,会调用__isset
方法。
7. __unset
当在一个未定义或非公有的成员属性上调用
unset
函数时,会调用__unset
方法。
8. __toString
在打印输出一个对象时, 会自动调用
__toString
方法。 例:echo 对象名
。
9. __clone
当克隆一个对象时, 会自动调用
__clone
方法。 例:$clone_obj = clone 对象名;
10. __autoload
在实例化一个尚未被定义的类时会自动调用
__autoload
来加载类文件。
11. __invoke
当尝试以调用函数的方式调用一个对象时, 会自动调用
__invoke
方法。
12. __sleep
serialize()
函数会检查类中是否存在__sleep
方法,如果存在,先执行__sleep
方法,再执行 序列化操作。<?phpclass User{public function __sleep(){// }}$obj = new User();serialize($obj);
13. __wakeup
unserialize()
函数会检查类中是否存在__wakeup
方法,如果存在,先执行__wakeup
方法,再执行 反序列化操作。<?phpclass User{public function __wakeup(){// }}$obj = new User();unserialize($obj);
PHP基础知识 - PHP魔术方法相关推荐
- 魔术方法php擎的区别,PHP基础知识之魔术方法
Linux常用命令02 显示当前目录 pwd (print working directory) 显示当前目录 创建目录 mkdir (make directory) ...
- 转移印花技术基础知识及应用方法
转移印花技术基础知识及应用方法 1. 转移印花法特点 转移印花图案具有花型逼真.花纹细致.层次清晰.立体感强等特点,可印制自然风景及艺术性强的图案. 转移印花设备具有结构简单.占地小.投资少.经济效率 ...
- 计算机硬件基础知识txt,计算机硬件基础知识及使用方法简介
--------------------------------------------------正文内容开始-------------------------------------------- ...
- 计算机硬件的使用知识,计算机硬件基础知识及使用方法简介.doc
计算机硬件基础知识及使用方法简介.doc PAGE PAGE 1 计算机硬件基础知识及使用方法简介 1.1 计算机的发展历程 现代电子计算机技术的飞速发展,离不开人类科技知识的积累,离不开许许多多热衷 ...
- php如何在特定情况下触发,php类知识点滴---魔术方法,系统在特定时机触发的方法...
__get()获取私有或受保护属性时调用的方法 class coach { private $chairfit = "徐晓冬"; public function __constru ...
- blendShape基础知识与创建方法
由于本人最近一直在研究MetaHuman的blendShape,所以想要将了解到的知识整理汇总,也是为了学习到更多的知识,特此写了这篇文章,希望大家共同进步[ps.1].注意,阅读本文需要掌握一定的M ...
- 人工智能基础——知识的表示方法,语义网络表示方法
语义网络 以个体为中心的组织知识的语义联系 实例联系 泛化联系 聚集联系 属性联系 以谓词或关系为中心组织知识的语义联系 以关系(谓词)为中心组织知识的语义联系 连接词在语义网络中的表示方法 合取 析 ...
- 软件测试基础知识-测试用例设计方法
分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net 黑盒测试: 1.等价类划分 等价类划分是将系统的输入 ...
- scrapy基础知识之 parse()方法的工作机制思考:
1.因为使用的yield,而不是return.parse函数将会被当做一个生成器使用.scrapy会逐一获取parse方法中生成的结果,并判断该结果是一个什么样的类型: 2.如果是request则加入 ...
最新文章
- 08:Python数据分析之pandas学习
- 服务器状态显示down,Eureka心跳健康检查机制和Spring boot admin 节点状态一直为DOWN的排查(忽略某一个节点的健康检查)...
- 从小白到年薪10万+,优秀的数据分析能力如何速成?
- L1-070 吃火锅 (15 分)-PAT 团体程序设计天梯赛 GPLT
- Lodash chain功能(Lazy Evaluation)介绍
- Node.js简介与架构
- 安装CentOS7操作系统
- 开心网(kaixin001)上的X世界小游戏
- 布朗运动 1 | 基本概念与性质
- 手机用计算机解锁,如何用电脑解锁手机屏幕
- c语言中primesum函数,c语言之函数
- Bulletproof零知识证明
- windows 电脑图片/视频不展示预览图
- 浪漫侧影 ( 题解 )
- 火影忍者的最爱:三勾玉
- 实习,内推,校招,社招的区别和联系
- NFV落地开花,CT厂商渐获运营商青睐
- Android安装失败,安装包解析出错
- 医院计算机管理员自我鉴定,网络管理员个人自我鉴定
- 系统稳定性指标计算器
热门文章
- 2.redis高可用-持久化-主从复制-哨兵-cluster集群概述与部署,内容依旧多看完直接通透!
- 项目经理主要工作及指引
- 一看就懂-【c语言】可变数组的实现与缺陷分析
- 可变数组ArrayBuffer和不可变数组Array
- RGB-D salient object detection: A survey 综述
- 如何快速get新技能
- 央行宣布加快法定数字货币研发
- 数据分析实战(五):Python 数据清洗 —— XX
- 模型构建器之提取水系
- python两个list取交集_使用 Python 获取两个列表的交集、并集、差集的常用方法 | Jin''''s Blog...