我有一個擴展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