没有合适的资源?快使用搜索试试~ 我知道了~
详解php魔术方法(Magic methods)的使用方法
0 下载量 106 浏览量
2020-12-19
13:51:02
上传
评论
收藏 61KB PDF 举报
温馨提示
试读
4页
PHP中把以两个下划线__开头的方法称为魔术方法,这些方法在PHP中充当了举足轻重的作用。 魔术方法包括: __construct(),类的构造函数 __destruct(),类的析构函数 __call(),在对象中调用一个不可访问方法时调用 __callStatic(),用静态方式中调用一个不可访问方法时调用 __get(),获得一个类的成员变量时调用 __set(),设置一个类的成员变量时调用 __isset(),当对不可访问属性调用isset()或empty()时调用 __unset(),当对不可访问属性调用unset()时被调用。 __sleep()
资源推荐
资源详情
资源评论
详解详解php魔术方法魔术方法(Magic methods)的使用方法的使用方法
PHP中把以两个下划线__开头的方法称为魔术方法,这些方法在PHP中充当了举足轻重的作用。 魔术方法包括:
__construct(),类的构造函数,类的构造函数
__destruct(),类的析构函数,类的析构函数
__call(),在对象中调用一个不可访问方法时调用,在对象中调用一个不可访问方法时调用
__callStatic(),用静态方式中调用一个不可访问方法时调用,用静态方式中调用一个不可访问方法时调用
__get(),获得一个类的成员变量时调用,获得一个类的成员变量时调用
__set(),设置一个类的成员变量时调用,设置一个类的成员变量时调用
__isset(),当对不可访问属性调用,当对不可访问属性调用isset()或或empty()时调用时调用
__unset(),当对不可访问属性调用,当对不可访问属性调用unset()时被调用。时被调用。
__sleep(),执行,执行serialize()时,先会调用这个函数时,先会调用这个函数
__wakeup(),执行,执行unserialize()时,先会调用这个函数时,先会调用这个函数
__toString(),类被当成字符串时的回应方法,类被当成字符串时的回应方法
__invoke(),调用函数的方式调用一个对象时的回应方法,调用函数的方式调用一个对象时的回应方法
__set_state(),调用,调用var_export()导出类时,此静态方法会被调用。导出类时,此静态方法会被调用。
__clone(),当对象复制完成时调用,当对象复制完成时调用
__construct()和和__destruct()
构造函数和析构函数应该不陌生,他们在对象创建和消亡时被调用。例如我们需要打开一个文件,在对象创建时打开,对象消
亡时关闭
<?php
class FileRead
{
protected $handle = NULL;
function __construct(){
$this->handle = fopen(...);
}
function __destruct(){
fclose($this->handle);
}
}
?>
这两个方法在继承时可以扩展,例如:
<?php
class TmpFileRead extends FileRead
{
function __construct(){
parent::__construct();
}
function __destruct(){
parent::__destruct();
}
}
?>
__call()和和__callStatic()
在对象中调用一个不可访问方法时会调用这两个方法,后者为静态方法。这两个方法我们在可变方法(Variable functions)调
用中可能会用到。
<?php
class MethodTest
{
public function __call ($name, $arguments) {
echo "Calling object method '$name' ". implode(', ', $arguments). "";
}
public static function __callStatic ($name, $arguments) {
echo "Calling static method '$name' ". implode(', ', $arguments). "";
}
资源评论
weixin_38668274
- 粉丝: 2
- 资源: 938
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 常用工具集参考用于图像等数据处理
- 音乐展示网页、基于Stenography的图像数字水印添加与提取,以及基于颜色矩和Tamura算法的图像相似度评估算法py源码
- 基于EmguCV(OpenCV .net封装),图像数字水印加解密算法的实现,其中包含最低有效位算法,离散傅里叶变换算法+文档书
- 基于matlab+DWT的图像水印项目,数字水印+源代码+文档说明+图片+报告pdf
- (优秀毕业设计)基于python实现的数字图像可视化水印系统的设计与实现,多种数字算法实现+源代码+文档说明+理论演示pdf
- 基于DWT-DCT-SVD和deflate压缩的数字水印方法python源码+Gui界面+演示视频(高分毕业设计)
- 基于matlab实现DWT、DCT、SVD算法数字图像水印可视化系统+GUI界面+文档说明+详细注释(高分毕业设计)
- NCIAE-Data-Structure大一大二笔记
- 学习wireshark笔记
- digital-image-数据可视化笔记
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功