【发布时间】:2013-11-03 00:41:33
【问题描述】:
我有一个名为 getPropertyValue($object, $property) 的递归定义函数,如果 $property 在 $object 的任意深度不存在则返回 false,否则返回与 $object 中找到的第一个 $property 对应的值.它本质上是PHP内置函数property_exists()的通用版本
我想让这个方法可链接,并且我知道要做到这一点,我只需在方法中返回对类实例 ($this) 的引用,但如上所述,我已经返回了值对应于在 $object 中找到的第一个 $property。
我怎样才能使这个方法可以链接,同时仍然返回这个值?我在想一种可能性是返回一个同时包含 $this 和该属性/false 值的对象,如果它分别找到/未找到。这是一种可行的方法吗?在这种情况下,实现可链接性的最佳方式是什么?
非常感谢。
【问题讨论】:
-
你返回假。链接意味着继续;如果一个方法返回 false,那么如果失败了,为什么还要继续并返回另一个值?