2013-03-21 234 views
0

假设您正在构建其他人将使用的API。 而你使用typehinting功能很多,如function foo(array $arg){...}。这迫使参数是一个数组,所以传递可遍历的对象到这个函数将不起作用。但是你的功能可以处理这些对象。打印可遍历对象

您是否认为删除提示并处理可遍历对象是个好主意?或者我应该把它留给用户? (例如,她可以使用iterator_to_array

回答

1

您可以删除我想的类型提示并放置一个PHPDoc注释。说它需要一个数组,一个可穿越的甚至是阵列访问。

用户在使用API​​时给予灵活性并不差,但是在处理非适当类型的参数时,您的API应该具有容错功能。因此,如果您删除了类型提示,则应该将类型控件添加到您的方法中(当然,您不必这样做,但它可能被认为是最佳做法)。然而,制作检查会导致您的API速度变慢(可能是疏忽大意,可能会被视为微型优化,但是如果您的API需要快速运行,您还应该考虑这一点)。