El núcleo siempre return $this;
en el contexto de los métodos de observación, pero en realidad no parece haber una razón para ello.
Al rastrear dispatchEvent()
, encontrará el método principal que llama a los métodos de observación (en ./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;
}
Pero en ningún momento el valor de retorno se usa o se hace referencia para pasar a otro observador en la cadena.
Quizás Magento estaba pensando a largo plazo para usarlo como un medio para retener / pasar datos dentro de $this
la instancia de clase fuera del uso de sesiones / registro; o podría haber sido un código heredado que se acaba de pegar .
No puedo ver una razón convincente para hacerlo return $this
, pero dicho esto, si lo hacen en el núcleo, eso es lo que hacemos.
Como regla general, haga lo que haga el núcleo, consideramos las mejores prácticas. Con la excepción de los errores ortográficos impactantes :)