PHP中什么是魔术方法?常用魔术方法有哪些?

上篇文章给大家介绍了《php中什么是继承和派生?我们如何运用继承?》,本文继续给大家介绍php中什么是魔术方法?常用魔术方法有哪些?有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

PHP中什么是魔术方法?常用魔术方法有哪些?

1、什么是魔术方法

系统在特定的时机自动调用的方法

2、常用魔术方法:

立即学习“PHP免费学习笔记(深入)”;

_get

触发时机:对象在外部访问私有成员或者受保护属性时调用

该方法有一个参数:参数就是属性名

我们以代码为例:

首先我们先建立一个新的文件,我们写一个class类,在类里面定义属性,然后我们创建一个对象,当我们去输出(echo)刚刚定义的类,我们会发现出现报错,因为对象只能访问公共的属性,我们不能访问受保护的和私有的属性,代码如下:

pome;?>

登录后复制

代码显示结果:

6.JPG

我们会发现我们上述代码运行出现错误,因此,在外部不能访问受保护的和私有的属性,如果我们想要在外部试图通过对象来访问受保护的或者私有的成员属性时,就会自动的触发get方法。

    public function __get($name){        echo $name;    }

登录后复制

紧接着打印出$name,

代码显示结果:

7.JPG

因此我们通过上述代码可以使用if语句进行判断:

 if ($name == 'pome'){            return $this->pome;

登录后复制

代码显示结果:

8.JPG

以上就是我们所说的get用法

–set

触发时机:对象在外部设置私有或者受保护成员属性值的时候调用

该方法有两个参数:

参数1:成员属性名!参数2:要设置的值

我们以代码为例:

所有的魔术方法都是用public,和上述一样我们在类里面定义属性,然后我们创建一个对象,而set属性有两个参数,一个是属性名,一个是属性值,在类里面我们都打印出来;

public function __set($name,$value)    {        var_dump($name,$value);    }}$niu = new Person();//echo $niu->pome;$niu->pome = '答案很长,我准备用一生的时间来回答,你准备要听了吗?';

登录后复制

代码显示结果:

8.JPG

补充:(下次具体讲解)

在外部可以通过unset销毁对象中的public属性

_unset

触发时机:对象在外部销毁私有或者受保护成员属性的时候调用

该方法有一一个参数:参数就是私有的成员属性名

_isset

触发时机:对象在外部判断私有或者受保护成员属性的时候调用,

该方法有一个参数:参数就是私有的成员属性名

construct :构造方法

触发时机:在创建对象的时候自动调用

destruct:析构方法

toString (了解)

触发时机:echo-一个对象的时候触发

该函数需要return-一个字符串

__debugInfo (了解)

触发时机:var_dump–个对象的时候触发

该函数需要return-一个数组

推荐学习:php视频教程

以上就是PHP中什么是魔术方法?常用魔术方法有哪些?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2511425.html

(0)
上一篇 2025年3月5日 14:32:55
下一篇 2025年3月5日 14:33:12

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论