O núcleo sempre return $this;
no contexto dos métodos de observação - mas na verdade não parece haver uma razão para isso.
No rastreamento, dispatchEvent()
você encontrará o método principal que chama métodos de observador (in ./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;
}
Mas em nenhum momento o valor de retorno realmente usado ou referenciado é passado para outro observador na cadeia.
Talvez o Magento estivesse pensando em longo prazo para usá-lo como um meio de reter / passar dados dentro da $this
instância da classe, fora do uso de sessões / registro; ou poderia ter sido um código legado que acabou de ficar preso .
Não vejo uma razão convincente para isso return $this
- mas, dito isso, se eles fazem isso no centro, é isso que fazemos.
Como regra geral, o que quer que o núcleo faça - consideramos as melhores práticas. Com exceção dos erros de ortografia chocantes :)