欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php面向对象巧妙应用

程序员文章站 2022-05-25 21:34:35
...
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