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