関数の問題は、戻り値ではなく入力です。
とにかく、あなたの質問は少し理論的です。定数整数値と変数の両方を返すことが機能するためです。それは大した違いにはならないでしょう。次の例を参照してください。
function somefunction($length)
{
return 25 + 25 * ($length > 50);
}
コードの問題は、これらの特定の値に対してのみコードを記述していることです。したがって、変数を使用しないことは、コードが制限されていることを示している可能性があります。しかし、リターンのために少なく、フローのために多くなります。
function integer_top_cut_drop($value, $top, $default)
{
$value = (int) $value;
$top = (int) $top;
$default = (int) $default;
if ($value > $top)
{
return $top;
}
return $default;
}
この関数が示すように、そこには数値はなく、変数のみがあります。既存の関数とほぼ同じですが、すべてが可変です。定数値を持つ数値は削除され、パラメーターとして渡されるようになりました。
function somefunction($length)
{
return integer_top_cut_drop($length, 50, 25);
}
したがって、通常、変数、定数、その他の種類の式、または別の関数が値を返すかどうかを気にする必要はありません。
さらに重要なのは、コードが実行する必要があることを実行し、便利な方法で実行することです。
これは、コード内で、関数がすでに完全に正常であることを意味している可能性があります。
ただし、ここに示すように、新しい関数を使用して、一般的なパーツを再利用できるようにすることを検討してください。それはあなたの例では少し上にあるかもしれませんが、単に絵を示すためです。
関数はロジックを保持できるため、その部分を複数回記述する必要はありません。また、その関数を使用して、コードの他の部分のサイズを縮小します。