Blogger Information
Blog 38
fans 0
comment 1
visits 36111
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
类与对象-方法重载
夜澜风的博客
Original
744 people have browsed it

实例

<?php
header("content-type:text/html;charset=utf-8");
// ## 4. 方法重载
// * `__call()`: 访问未定义的对象方法时会自动调用它
// * `__callStatic()`: 访问未定义的静态类方法时会自动调用它
class Demo4{
	// __call(): 访问不存在/不可见对象方法时触发,有两个参数,第一个是方法名,第二个方法的参数(数组)
	 public function __call($name, $arguments){
	 	return '方法名: '.$name.'<br>方法参数列表: ' . '<pre>'.print_r($arguments, true).'不存在';
	 }
	 //__callStatic(): 访问不存在/不可见的类方法(静态)方法时触发
	public static function __callStatic($name, $arguments){
//		if($name == 'getInfo2'){
//			self::getInfo2($arguments);
//		}
	  return '方法名: '.$name.'<br>方法参数列表: ' . '<pre>'.print_r($arguments, true).'不存在';
	}
    protected function getInfo1(){
	 	echo 111;
	 }
	protected static function getInfo2($arguments){
	    //print_r($arguments);
	}
}
 $obj = new Demo4();
// 访问不存在或无权访问的对象方法
echo $obj->getInfo1([10,20,30,40],[50,60,70,80]);
 echo '<hr>';
// 访问不存在或无权访问的静态类方法
// 当存在这个方法,并且为公有的,才会执行getInfo2方法。
echo Demo4::getInfo2('html','css', 'javascript');
echo '<hr>';

运行实例 »

点击 "运行实例" 按钮查看在线实例


Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post