0

他の人が使用するAPIを構築しているとしましょう。また、のような関数にはタイプヒントをよく使用しますfunction foo(array $arg){...}。これにより、引数が配列になるため、トラバース可能なオブジェクトをこの関数に渡すことはできません。しかし、あなたの関数はそのようなオブジェクトで動作することができます。

ヒントを削除して、通過可能なオブジェクトも処理することをお勧めしますか?それとも、それをユーザーに任せるべきですか?iterator_to_array(たとえば、彼女は使用できます)

4

1 に答える 1

1

私が推測するタイプヒントを削除して、PHPDocコメントを付けることができます。配列、トラバース可能、さらには配列アクセスが必要だと言って。

ユーザーがAPIを使用するときに柔軟性を与えることは悪いことではありませんが、適切なタイプではない引数を処理する場合、APIはフォールトトレラントに機能する必要があります。したがって、型ヒントを削除する場合は、メソッドに型コントロールを追加する必要があります(もちろん、追加する必要はありませんが、ベストプラクティスと見なされる場合があります)。ただし、チェックを行うとAPIの速度が低下します(これは怠慢であり、マイクロ最適化と見なされる場合がありますが、APIを高速に動作させる必要がある場合は、これも考慮する必要があります)。

于 2013-03-21T15:50:45.777 に答える