ホームページ  >  記事  >  バックエンド開発  >  PHP-返射署理

PHP-返射署理

WBOY
WBOYオリジナル
2016-06-13 11:43:14848ブラウズ

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');        

?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。