猿问

PHP方法链接?

PHP方法链接?

我正在使用PHP 5,我听说过面向对象方法中的一个新特性,称为“方法链接”。到底是什么?我如何实现它?



千巷猫影
浏览 420回答 3
3回答

呼如林

基本上,你拿了一个物体:$obj = new ObjectWithChainableMethods();调用一个有效地执行return $this;最后:$obj->doSomething();因为它返回相同的对象,或者更确切地说,返回一个参照系对于同一个对象,可以从返回值继续调用同一个类的方法,如下所示:$obj->doSomething()->doSomethingElse();就这样,真的。两件重要的事情:正如您注意到的,它仅限于PHP 5。它在PHP 4中不能正常工作,因为它按值返回对象,这意味着您正在调用对象的不同副本上的方法,这将破坏您的代码。同样,您需要在可链接的方法中返回对象:public function doSomething() {     // Do stuff     return $this;}public function doSomethingElse() {     // Do more stuff     return $this;}
随时随地看视频慕课网APP
我要回答