【发布时间】:2012-09-14 11:11:05
【问题描述】:
可能重复:
PHP method chaining?
我对 PHP 和 OOP 比较陌生,我无法理解在我的数据库代码中弹出的重复结构。
我了解如何创建类、实例化它以及访问属性和方法,但$myobject->function() 对我来说已经很复杂了。
这是什么结构?
$myobject->function()->something。我越来越多地反复看到这一点,尤其是当我开始关注 mysql PDO 查询时。例如:
$query->function1($arg)
->function2($arg)
->function3($arg);
这里发生了什么?它是简单地链接一个类中多个方法的调用,还是function1() 的那些子函数?类定义是什么样的?
【问题讨论】:
-
'方法链' - 这就是它的名称。这为我打开了一个全新的搜索结果世界,谢谢。到目前为止,我正在阅读的其中一个非常有用的是talkphp.com/advanced-php-programming/…。因此,通过返回 '$this' 对象,我可以简单地继续调用 '$this' 对象的方法和属性。感谢大家到目前为止的答案,他们真的很有帮助。 @mehaase 特别感谢您提供的非常丰富的回复。从运营商的角度来看,很有启发性。