我有一个扩展SplFileObject并实现__toString
方法的类,但我似乎得到不一致的行为,具体取决于如何调用该方法。有时会调用父方法,有时候会使用子方法。谁能解释为什么会发生这种情况?SplFileObject __toString继承
class Something extends \SplFileObject {
public function __toString() {
return 'calling __toString';
}
}
$something = new Something('test.php');
echo $something; // 'calling __toString'
echo (string) $something; // 'test.php'
echo $something->__toString(); // 'calling __toString'
http://3v4l.org/Wf840 – deceze