「非オブジェクト上のメンバ関数への呼び出し」が致命的にならないようにする方法を教えてください。 (私は非常に便利で読みやすい見つける。)::「非オブジェクト上のメンバ関数への呼び出し」の処理方法
<?php echo $object->getRelatedObject()->getProperty()->formatProperty() ?>
しかし、これは各メソッドが正しいクラスのオブジェクトを返す場合にのみ機能します
フォックスの例では、私は頻繁に私のテンプレートでは、このようなものを持っています。しかし、必ずしもそうではありません。関連オブジェクトはデータベースに存在しない可能性があるため、nullを返し、致命的なエラーに直面します。次に、戻り値を手動でチェックします。
<?php if (is_object($object->getRelatedObject()) && is_object($object->getRelatedObject()->getProperty())):
<?php echo $object->getRelatedObject()->getPreperty()->formatProperty() ?>
<?php endif; ?>
これはもう読めません。どのようにこの問題に取り組んでいますか?
おそらく、get * Object()のような名前が返されるオブジェクトがなければ、例外をスローするべきです(SHOULD)。 – Craige
テンプレートのtry/catchブロックを越えたときにWebデザイナーの顔を見るのが大好きです。 – Dziamid