[英]method chaining in php class
我想了解这些链接方法有什么区别
$obj->prop_a()->prob_b($y);
和
$obj->prop_a->prob_b($x);
如何定义它以及如何工作。
提前致谢
上
$obj->prop_a()->prob_b($y);
您可以通过函数访问prop_a()。 它(显然)返回一个对象,该对象实现了prob_b()函数。
上
$obj->prop_a->prob_b($x);
您将prop_a作为包含对象的公共属性进行访问,该对象又实现了prob_b()函数。
一个调用prop_a
作为方法,另一个不调用。
这个:
class A {
public function prop_b($x) {
return 4*$x;
}
}
class B {
public function prop_a() {
$a = new A();
return $a;
}
}
class C {
public $prop_a;
public function __construct() {
$this->prop_a = new A();
}
}
$b = new B();
$c = new C();
$b->prop_a()->prob_b(5);
$c->prop_a->prop_b(5);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.