class test {public $a,$b;public function __construct($a,$b){$this->a=$a;$this->b=$b;}public function set($var, $val){$this->$var .= $val;return $this;}public function get(){echo $this->a.'-'.$this->b;}}class test2 {public $obj;public function __construct($obj){$this->obj=$obj;}public function get(){$this->obj->get();}}$a = 'aaaaa';$b = 'bbbbbb';$set = 'set';/// 1、链条式调用方法$test = new test($a, $b);$test2 = new test2($test);$test->$set('a', '111111')->$set('b', '222222'); //通过字符串变量调用(类)方法 ps:php另一巧妙应用 /// 2、分次调用方法$test->$set('a', '111111');$test->$set('b', '222222');unset($test);$test2->get();
虽然test2实例化已传入test,但是test依然可以通过set方法设置参数,然后影响test2。
上述执行程序结果: ( 上面两种都可以得出相同结果 )
aaaaa111111-bbbbbb222222
本文原创发布php中文网,转载请注明出处,感谢您的尊重!