Podczas prac w PHP(z którego na szczęście rzadko korzystam) bardzo wkurza mnie fakt iż nie jestem w stanie zdefiniować (przy pomocy PHP Doca) iż jakaś funkcja zwraca tablicę elementów określonego typu. Przez co chcąc prze-iterować po wyniku takiej funkcji mam lekko utrudniony dostęp do pól i metod danej klasy (uzupełnianie kodu Eclipse nie radzi sobie z taką sytuacją zupełnie). Dlatego jakiś czas temu wpadłem na pomysł dodawania do każdej (a właściwie prawie każdej) nowej klasy statycznej metody Cast:
class Moja {
/**
*
* Pseudorzutowanie na typ
* @param mixed $item
* @return Moja
*/
public static function Cast($item) {
return $item;
}
public function JakasFunkcja() {
;
}
}
Teraz mogę sobie w kodzie spokojnie zwracać wyniku typu tablicowego i iterować po nim:

W tej chwili jedyną wadą tego rozwiązania jaka mi przychodzi do głowy jest dodatkowa ilość generowanego kodu.

Test