1

ORM を介さずに PDO を使用してオブジェクトのモデルを構築しています。ORM を使用しない理由については、後で議論できます。

getById() や getByName() などのいくつかの静的メソッドがあります。これらは、データベースにモデル オブジェクトが存在する場合は、モデル オブジェクトをインスタンス化して返します。

私の質問: その行がデータベースに存在しない場合、「道徳的に正しい」ために何を返す必要がありますか? これはプロジェクトの新しいコードであり、ここでの進め方に関する適切なガイドラインがないため、false または null を返す (そして後で確認する) ことができます。私がやりたくないのは、=== を使用できるコードに is_object() チェックを入れることです。

準備した SELECT ステートメントの execute() が false を返した場合、既に例外をスローしています。オブジェクトが見つからなかった場合も例外をスローできると思いますが、実際にそれを行うORMを知りません。

前もって感謝し、開始する可能性のある聖戦を開始させてください!

4

1 に答える 1

0

null を返します。すべての基準を満たしています。

それは間違っているので、アセットが取得されたかどうかを確認する単純な if のテストが機能します

if ($user) 

「=== null」のテストは、テストの意味を明確に示しています。

if ($user === null) 

私の意見では、 null は false よりも意味的に正しいです。呼び出しからの偽の結果とは対照的に、null の結果が得られました。

于 2013-06-16T04:56:43.993 に答える