Home  >  Article  >  Backend Development  >  PHP-返射署理

PHP-返射署理

WBOY
WBOYOriginal
2016-06-13 11:43:14846browse

PHP-返射代理

<?phpclass Personal {	public $name;	public $age;		function __construct() {		echo " __construct.. \r\n";	}		public function init() {		echo "init \r\n";	}}interface Work { 	function doWork($personal);} class Student extends Personal implements Work{	public function doWork($personal)  {		echo "$personal \n\r";	}}  # 代理 class ClassDelegator { 	private $target; 	 	function __construct($targetClass) { 		$this->target[] = new $targetClass(); 	} 	 	function __call($name, $args) { 		foreach ($this->target as $obj) { 			$r = new ReflectionClass($obj); 			if ($method = $r->getMethod($name)) { 				if ($method->isPublic() && !$method->isAbstract()) { 					return call_user_func_array(array(&$obj, $name), $args);				}			}		}  	} }  $stu = new ClassDelegator('Student'); $stu->doWork('1111', 'rerew');        

?

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn