W ostatnim wpisie na php.internals, Stas Malyshev przedstawił listę zmian i nowości, nad wprowadzeniem których do PHP 5.4 odbędzie się głosowanie. Oto ich lista:
- Dodanie zarezerwowanej przestrzeni nazw “php”
- Zarezerwowanie nazw typów prostych jako słów kluczowych (string, int etc) na wypadek, gdyby kiedyś było to potrzebne (type hinting)
- Dodanie błędów klasy E_STRICT do klasy E_ALL
- Całkowite usunięcie magic_quotes
- Binarna notacja dla liczb całkowitych (np 0b10101)
- Krótka notacja dla tablic, czyli [‘raz’,’dwa’,’trzy’] == array(‘raz’,’dwa’,’trzy’)
- Nowa opcja w php.ini “disable post data processing”
- Wbudowany deweloperski mini serwer www
- Możliwość ustawienia klasy, jako sposobu obsługi sesji
- Dodanie nowego type hint “callback”, który sprawdzał by, czy argument przekazany do funkcji jest wywoływalny – sprawdzenie dla “Closure”, array($obiekt,’nazwa_metody’), $nazwaFunkcji
Moim zdaniem każda z tych zmian/dodatków ma duży sens i jest przydatny, chętnie bym wszystkie je widział w kolejnej wersji interpretera. Jedyna rzecz do której mógłbym się przyczepić to punk nr.9 – możliwość ustawienia klasy jako handlera sesji. Wg. mnie ustawienie klasy jest bez sensu i świetnie pokazuje, czym jest tzw COP (Class Oriented Programming). Jeżeli chcemy pisać w duchu OOP (Object Oriented Programming) to handler sesji powinien być ustalany jako obiekt klasy implementującej jakiś interfejs (np. “SessionStorage”).
Co sądzicie o proponowanych zmianach ?