Inti selalu return $this;
dalam konteks metode pengamat - tetapi sebenarnya tidak ada alasan untuk itu.
Menelusuri kembali dispatchEvent()
Anda akan menemukan metode utama yang memanggil metode pengamat (dalam ./app/Core/Model/App.php
)
protected function _callObserverMethod($object, $method, $observer)
{
if (method_exists($object, $method)) {
$object->$method($observer);
} elseif (Mage::getIsDeveloperMode()) {
Mage::throwException('Method "'.$method.'" is not defined in "'.get_class($object).'"');
}
return $this;
}
Tetapi tidak ada nilai balik yang pernah benar-benar digunakan atau direferensikan untuk diteruskan ke pengamat lain di rantai.
Mungkin Magento berpikir jangka panjang untuk menggunakannya sebagai beberapa cara untuk menyimpan / meneruskan data dalam $this
instance kelas di luar penggunaan sesi / registri; atau bisa jadi kode warisan yang baru saja macet .
Saya tidak bisa melihat alasan kuat untuk return $this
- tetapi itu dikatakan, jika mereka melakukannya pada intinya, itulah yang kami lakukan.
Sebagai aturan umum, apa pun yang dilakukan inti - kami anggap praktik terbaik. Dengan pengecualian dari kesalahan ejaan yang mengejutkan :)