【发布时间】:2012-03-17 22:22:35
【问题描述】:
在 PHP 中,return self 无法链接静态方法。这限制了静态方法的使用,因为链接非常有用,您必须使用实例来链接方法。
PHP 开发人员决定不允许返回self 有什么原因吗?还是一般OOP中不能返回self?
【问题讨论】:
-
说实话,链接被过度使用到影响可读性的地步,因为每个人似乎都认为干净可读代码的目的是使最长的链成为可能(以类似的方式人们过去认为嵌套的三元组很酷);无论如何,请看这里stackoverflow.com/questions/125268/…
-
我认为这是个人喜好问题。
-
如果您需要链接静态方法,那么您可能犯了一些设计错误。
-
@Crozin 你能再解释一下吗?也许我对一些 OOP 概念的理解有误。
-
完全同意。让您与对象进行顶级交互,但绝不会比这更深入(或至少避免它)。否则,当您稍后更改对象结构时,您最终会得到 Spaghetti 对象和维护混乱。