2013-03-21 3 views
0

다른 사람들과 함께 작업 할 API를 작성한다고 가정 해 보겠습니다. 그리고 function foo(array $arg){...}과 같이 함수에 대한 형식 힌트를 많이 사용합니다. 이렇게하면 인자가 배열이됩니다. 따라서 traversable 객체를이 함수에 전달하면 작동하지 않습니다. 그러나 당신의 기능은 그런 물건들과 함께 일할 수 있습니다.유형이 가로 지르는 객체 힌트

힌트를 제거하고 이동 가능한 객체를 처리하는 것이 좋습니다. 아니면 사용자에게 맡겨야합니까? (그녀는 예를 들어 iterator_to_array을 사용할 수 있습니다.)

답변

1

내가 생각하는 유형 힌트를 제거하고 PHPDoc 주석을 넣을 수 있습니다. 말하자면 배열, 가로 지르는 배열 또는 배열 접근이 필요합니다.

사용자가 API를 사용할 때 유연성을 제공하는 것은 좋지만 API는 적절한 유형이 아닌 인수를 처리 할 때 내결함성이 있어야합니다. 따라서 힌트 형식을 제거하면 형식 컨트롤을 메서드에 추가해야합니다 (물론 필요는 없지만 모범 사례로 간주 될 수 있음). 그러나 수표를 작성하면 API가 느려지 게됩니다 (부주의하고 마이크로 최적화로 간주 될 수 있지만 API가 빠르게 작동해야하는 경우이를 고려해야합니다).

관련 문제