PHP 5.3 – co możemy zyskać?

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_methodsopenssl_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.

Tagged: