~~~
class Ceshi{
public $array;
/*
* 對一個不存在的屬性進行賦值時,觸發此方法
* */
function __set($name, $value)
{
// TODO: Implement __set() method.
$this->array[$name] = $value;
}
/*
* 獲取一個不存在的屬性時,觸發此方法
* */
function __get($name)
{
// TODO: Implement __get() method.
return $this->array[$name];
}
/*
*當調用一個不存在的非靜態方法時,會觸發此函數
* */
function __call($name, $arguments)
{
// TODO: Implement __call() method.
echo 'function"'.$name.'"不存在';
}
/*
*當調用一個不存在的靜態方法時,會觸發此函數
* */
static function __callStatic($name, $arguments)
{
// TODO: Implement __callStatic() method.
echo '靜態function"'.$name.'"不存在';
}
/*
*當把對象當成字符串直接輸出時,會觸發此函數
* */
function __toString()
{
// TODO: Implement __toString() method.
var_dump($this);
return '不能直接輸出一個對象';
}
/*
* 當把對象當成函數使用時,會觸發此函數
* */
function __invoke($arguments)
{
// TODO: Implement __invoke() method.
echo '不能把對象當成函數使用';
}
}
~~~