2013-03-21 155 views
0

假設您正在構建其他人將使用的API。 而你使用typehinting功能很多,如function foo(array $arg){...}。這迫使參數是一個數組,所以傳遞可遍歷的對象到這個函數將不起作用。但是你的功能可以處理這些對象。打印可遍歷對象

您是否認爲刪除提示並處理可遍歷對象是個好主意?或者我應該把它留給用戶? (例如,她可以使用iterator_to_array

回答

1

您可以刪除我想的類型提示並放置一個PHPDoc註釋。說它需要一個數組,一個可穿越的甚至是陣列訪問。

用戶在使用API​​時給予靈活性並不差,但是在處理非適當類型的參數時,您的API應該具有容錯功能。因此,如果您刪除了類型提示,則應該將類型控件添加到您的方法中(當然,您不必這樣做,但它可能被認爲是最佳做法)。然而,製作檢查會導致您的API速度變慢(可能是疏忽大意,可能會被視爲微型優化,但是如果您的API需要快速運行,您還應該考慮這一點)。