2013-03-21 2 views
0

Предположим, вы создаете API, с которым будут работать другие люди. И вы используете typehinting много для функций, таких как function foo(array $arg){...}. Это заставляет аргумент быть массивом, поэтому передача обходных объектов в эту функцию не будет работать. Но ваша функция может работать с такими объектами.Перетаскивание объектов, пересекающих объект

Считаете ли вы, что это хорошая идея, чтобы удалить подсказки и обрабатывать проходящие объекты? Или я должен оставить это пользователю? (она может использовать, например, iterator_to_array)

ответ

1

Вы можете удалить подсказку типа, я предполагаю, и поместить комментарий PHPDoc. говоря, что он принимает массив, проходящий или даже массивный.

Неплохо, чтобы пользователь предоставлял гибкость при использовании вашего API, однако ваш API должен работать с ошибкой при обработке аргументов, которые не соответствуют типу. Поэтому, если вы удалите подсказку типа, вы должны добавить элементы управления типа к своим методам (конечно, вам не обязательно, но это может считаться лучшей практикой). Однако при выполнении проверок ваш API замедляется (это может быть небрежным и может считаться микро-оптимизацией, однако, если ваш API должен работать быстро, вы также должны это учитывать).

Смежные вопросы