Nowości z php.internals – domknięcia i $this

Na jednym z ostatnich wpisów na internalsach wyszło na jaw, że w najbliższej większej wersji php (5.x lub 6), do obecnej funkcjonalności domknięć (closures) dodana zostanie obsługa $this. Obsługa ta będzie zaimplementowana tak jak opisano w podpunkcie A) odpowiedniego RFC. Oznacza to, że zmienna $this będzie mogła być wykorzystywana tylko w domknięciu stworzonym wewnątrz jakiegoś obiektu i będzie zawsze wskazywała na obiekt w którego kontekście została utworzona. Otwiera to trochę nowych możliwości związanych np z delgacjami – tworzeniem event handlerów itp.

Dla mnie pozostaje jednak pewien niedosyt związany z tym rozwiązaniem. Szkoda, że nie wprowadzono możliwości bindowania zmiennej $this (i innych zmiennych) do aktualnego kontekstu tak jak opisano w zmodyfikowanej propozycji A)

Przy okazji chciałem poinformować, że pokazała się wersja php 5.3.3. Oprócz poprawek błędów została zmieniona jedna ważna rzecz – metody o nazwie takiej samej jak klasa nie są już traktowane jak konstruktory – w przypadku kodu który jest napisany z użyciem namespace’ów – jest to moim zdaniem dobry krok w kierunku usuwania historycznych zaszłości w języku. Mam nadzieje, że w przyszłych wersjach całkowicie usunięte zostaną konstruktory w starym stylu.

Jakie jest Wasze zdanie o wprowadzonych zmianach ?

Leave a Reply

Notify me of followup comments via e-mail. You can also subscribe without commenting.