站长资讯网
最全最丰富的资讯网站

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

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

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

1、什么是魔术方法

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

2、常用魔术方法:

_get

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

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

我们以代码为例:

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

<?php class Person  {     public $name = '林徽因';     protected $pome = '答案很长,我准备用一生的时间来回答,你准备要听了吗?';     private $time = '民国' ; } $niu = new Person(); echo $niu->pome; ?>

代码显示结果:

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

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

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

紧接着打印出$name,

代码显示结果:

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

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

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

代码显示结果:

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

赞(0)
分享到: 更多 (0)

网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号