【问题标题】:Typehinting traversable objects类型提示可遍历对象
【发布时间】:2013-03-11 05:06:09
【问题描述】:

假设您正在构建一个其他人可以使用的 API。 而且你对函数使用了很多类型提示,比如function foo(array $arg){...}。这会强制参数为数组,因此将可遍历对象传递给此函数将不起作用。但是您的函数可以与此类对象一起使用。

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

【问题讨论】:

    标签: php arrays iterator type-hinting


    【解决方案1】:

    您可以删除我认为的类型提示并添加 PHPDoc 注释。说它需要一个数组,一个可遍历的甚至是数组访问。

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

    【讨论】:

      猜你喜欢
      • 2014-02-19
      • 1970-01-01
      • 2015-06-14
      • 2021-11-14
      • 2018-06-25
      • 2014-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多