[PHP] php合并多个对象 →→→→→进入此内容的聊天室

来自 , 2019-09-27, 写在 PHP, 查看 100 次.
URL http://www.code666.cn/view/0cdf6103
  1.     class merge_objs{
  2.        private $classArr = array();
  3.        function __construct() {
  4.            $this -> classArr = func_get_args();
  5.        }
  6.         function __get($s) {
  7.             foreach($this-> classArr as $c) {
  8.                 if (property_exists($c, $s)) {
  9.                     return $c -> $s;
  10.                 }
  11.             }
  12.         }
  13.         function __call($fn,$args) {
  14.             foreach($this-> classArr as $c) {
  15.                 if (method_exists($c, $fn)) {
  16.                     return call_user_func_array(array($c,$fn),$args);
  17.                 }
  18.             }
  19.         }
  20.     }
  21.    
  22.    //测试
  23.     class a1 {
  24.         public $a = 'a';
  25.         public function a() {
  26.             return 'a';
  27.         }
  28.     }
  29.  
  30.     class b1 {
  31.         public $b = 'b';
  32.         public function b() {
  33.             return 'b';
  34.         }
  35.     }
  36.  
  37.     class c1 {
  38.         public $c = 'c';
  39.         public function c() {
  40.             return 'c';
  41.         }
  42.     }
  43.    
  44.     $m = new merge_objs(new a1(),new b1(),new c1());
  45.  
  46.     var_dump($m->c); //c
  47.     var_dump($m->b); //b
  48.     var_dump($m->a); //a
  49.     var_dump($m->a()); //a
  50.     var_dump($m->b()); //b
  51.     var_dump($m->c()); //c

回复 "php合并多个对象"

这儿你可以回复上面这条便签

captcha