Magentoのコードベースには、オブジェクトを返すメソッドや、オブジェクトが見つからない場合にfalseを返すメソッドがいくつかあります。PHPでobjectまたはfalseを返す動機
は、次の例を考えてみましょう:
/**
* 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;
}
}
私はむしろ、nullを返すか、いくつかのケースでは、例外を投げるだろうと私は個人的にこれで混乱しています。
これがMagentoで行われる理由は何ですか?これは一般的なPHPのものですか?
'($ result){$ result-> doSomething();}' –
で結果をテストできるのは個人的な好みの問題だと思います。オブジェクトの再生中にヌルチェックを行います。この場合、 'if($ returnedObject)'のようにします。 –