PHP常用魔术方法(__set、__get魔术方法:)

__set、__get魔术方法:


//文件名:Object.php
<?php
namespace IMooc;
class Object
{
protected $array = array();
function __set($name, $value)//set魔术方法
{
var_dump(__METHOD__);//输出当前方法

$this->array[$name]=$value;//$name=title,$value="哎哟喂"
}
function __get($name)//get魔术方法
{
var_dump(__METHOD__);//输出当前方法
return $this->array[$name];
}
}


//文件名:index.php
<?php

define('a',__DIR__);
include '/IMooc/Loader.php';
spl_autoload_register('\IMooc\Loader::autoload');


$Object = new IMoocObject();

$Object->title="哎哟喂";//当对不存在属性进行赋值时,它会调用__set魔术方法

echo $Object->title;//当读取对象不存在属性时,会调用__get魔术方法
/*输出:
string(19) "IMoocObject::__set"
string(19) "IMoocObject::__get"
哎哟喂
*/
原文地址:https://www.cnblogs.com/shark1100913/p/5522820.html