2012-03-25 11 views
2

私はPHPの開発者ではないので、次の質問には私が見逃す簡単な答えがあるかもしれません。PHPの戻り値の不思議

私は、クラス内に次のような関数を持っていますが、check_min関数の戻り値がどこにも割り当てられていないと、何が良いのか分かりません。 return)...

function a() 
{ 
... 

    $this->check_min(); //check_min function returns a boolean 

... 
} 
+1

さて、 'check_min'は最後にブール値を返す以外に何かしますか?そうでない場合、実際にそれを呼び出すのは無意味ではないようです。 –

+0

'check_min()'は値を返す以外に何か他の作業をしますか?そうでなければ、あまり役に立たない。他の作業には、明らかではないデータベース・トリガー、または他のオブザーバー・メソッドが含まれる可能性があることに留意してください。 –

答えて

0

check_min()は副作用があるものを除いては問題ありません。または、オブジェクト変数が無効な場合は例外が発生する可能性があります。

0

check_minがクラスの値を変更する場合は、それを呼び出すことが理にかなっています。ブール値は、実行が成功したかどうかを示すインジケータになります。

たとえば、関数の名前を読んで、その値のどれが最小であるかを判断し、それに何かを置くことができます。値が最小でない場合、falseを返す可能性があります。

しかし、それを行うことはむしろ奇妙な/誤解を招きます。

0

check_min()メソッドは、ある程度のside-effectsを持たなければならず、すなわち、check_min()メソッド内で実行される状態変更などが実行されます。この特定のケースでは誰も戻り値を気にしません。

1

これは、次のいずれかに該当する場合があり、それを呼び出すことは理にかなって:

  • それがエラーまたはクラスで無効な変数の場合は例外をスローできますか?
  • クラスやオブジェクトのプロパティは変更されますか?
  • 他のメソッドや関数を呼び出しますか?
  • 一般的に何かをチェックし、それに基づいて真偽を返す以外何かをしますか?

true/falseの戻り値は、チェックが正常に完了したのではなく、関数が正常に実行されたことを示すためのものです。