В кодовой базе Magento существует несколько методов, которые возвращают объект или false, если объект не найден.Мотивация для возврата объекта или false в PHP
Рассмотрим следующий пример:
/**
* Get block object by name
*
* @param string $name
* @return \Magento\Framework\View\Element\AbstractBlock|bool
*/
public function getBlock($name)
{
$this->build();
if (isset($this->_blocks[$name])) {
return $this->_blocks[$name];
} else {
return false;
}
}
Я лично запутываемый это, как я предпочел бы вернуть нулевой или выбросить исключение в некоторых случаях.
Есть ли какая-то конкретная мотивация, почему это делается в Magento? Это общая вещь PHP?
Я бы предположил, что это просто вопрос личного предпочтения, чтобы иметь возможность проверить результат с помощью 'if ($ result) {$ result-> doSomething();}' –
Я думаю, это дизайнерское решение. Мы выполняем нулевую проверку во время игры с объектами, поэтому в этом случае мы будем делать это как 'if ($ returnObject)'. –