PHP中常用的魔术方法有什么

这篇文章主要讲解了“PHP中常用的魔术方法有什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP中常用的魔术方法有什么”吧!

成都创新互联主营蒙阴网站建设的网络公司,主营网站建设方案,重庆APP软件开发,蒙阴h5成都小程序开发搭建,蒙阴网站营销推广欢迎蒙阴等地区企业咨询

1、什么是魔术方法

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

2、常用魔术方法:

_get

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

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

我们以代码为例:

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

pome;
?>

代码显示结果:

PHP中常用的魔术方法有什么

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

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

紧接着打印出$name,

代码显示结果:

PHP中常用的魔术方法有什么

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

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

代码显示结果:

PHP中常用的魔术方法有什么

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

--set

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

该方法有两个参数:

参数1:成员属性名!

参数2:要设置的值

我们以代码为例:

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

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

代码显示结果:

PHP中常用的魔术方法有什么

补充:(下次具体讲解)

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

_unset

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

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

_isset

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

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

construct :构造方法

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

destruct:析构方法

toString (了解)

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

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

__debugInfo (了解)

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

该函数需要return-一个数组

感谢各位的阅读,以上就是“PHP中常用的魔术方法有什么”的内容了,经过本文的学习后,相信大家对PHP中常用的魔术方法有什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


名称栏目:PHP中常用的魔术方法有什么
本文地址:http://csdahua.cn/article/jdjooj.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流