Od wydania PHP 5.3 minął już prawie rok. To prawda, że początki nowej gałęzi były dość trudne.
Ale mimo wydania wersji 5.3.2 nadal trudno dostrzec projekty, które korzystałyby z nowości, lub serwerów gdzie stoi PHP 5.3. Mnie dziwi dlaczego tak się dzieje, ponieważ zaprzyjaźnić się z 5.3 naprawdę warto:
- lepsza implementacja stosu w silniku
- poprawa obsługi wyjątków
- funkcja md5() jest szybsze o około 10-15%
- wyeliminowano open(2) w require_once/include_once
- mniejszy rozmiar binariów (gcc4)
I mały szczegół: znaczna poprawa wydajności pod Windowsem (przynajmniej 40%). A łączny zysk wydajności został obliczony na 5-15%. A co przynosi nam sam język?
- przestrzenie nazw
- Garbage Collector (gc_enable() / gc_disable())
- __DIR__ – zamiast posiłkowania się wywołaniem dirname(__FILE__)
- operator ?: – zwraca nam wartość nie pustą, np. $a = 0 ?: 2; // 2
- __callStatic()
- dynamicznie wywołania statyczne – możliwość użycia $a::$b();
- LSB (późne statyczne wiązania)
- closures (domknięcia)
- goto
- MySQLInd
- INI – m.in. możliwość tworzenia konfiguracji na każdy katalog projektu
- dodatkowe funkcje OpenSSL: openssl_get_md_methods, openssl_get_cipher_methods
- ulepszenia w SPL
- DateTime::createFromFormat
- XSLT Profiling
- NOWDOC
Dla niektórych są to rzeczy już oczywiste, ale mam nadzieję, że przyspieszy to przejście z PHP 5.2 -> 5.3 innym osobom, aby trwało to krócej niż z pamiętnej gałęzi 4.x.
Zainteresowanym zapoznania się z PHP 5.3 polecam świetną prezentację Ilia Alshanetsky z ConFoo 2010.