php笔记(9)

__call();在对象中调用一个不可访问方法时,__call() 会被调用。

__call ( string $name , array $arguments ):第一个参数是调用的方法名,第二个参数是该方法名的参数

class Demo{
	public function __call($method,$arguments){
		$var = '';
		foreach ($arguments as $value) {
			$var.=$value.',';
		}
		return '方法'.$method.'('.$var.')不存在';
	}
}
//调用不存在的方法hello时,__call函数会自动调用

echo (new Demo)->hello("你好","小明");//方法hello(你好,小明,)不存在

__callStatic();调用一个不可访问的静态方法时,__callStatic() 会被调用

__callStatic ( string $name , array $arguments ):第一个参数是调用的方法名,第二个参数是该方法名的参数

class Demo{
	public static function __callStatic($method,$arguments){
		$var = '';
		foreach ($arguments as $value) {
			$var.=$value.',';
		}
		return '方法'.$method.'('.$var.')不存在';
	}
}
//调用不存在的方法world()时,__callStatic会自动调用

echo Demo::world("你好","世界");//方法world(你好,世界,)不存在

猜你喜欢

转载自blog.csdn.net/weixin_42881256/article/details/82814590