Nové PHP 5.4 vylepšuje výkon a přidává žádané novinky

Ať už je PHP vaše denní rutina nebo jen koníček, měli byste zbystřit. Nová verze 5.4 přináší spoustu užitečných změn a odstraňuje zbytečnosti.
Nové PHP 5.4 vylepšuje výkon a přidává žádané novinky

Po téměř třech letech vyšla další významná verze skriptovacího jazyka PHP, tenkrát 5.4. Zvyšuje rychlost, přináší nové možnosti a zjednodušuje zápis polí. Místy navíc dolaďuje předchozí verzi PHP 5.3 z léta 2009.

Nové možnosti

  • Zjištění průběhu nahrávání souboru – pomocí session lze zjistit, kolik procent souboru  bylo nahrálo; již tedy není nutné spoléhat například na flashové doplňky
  • Součástí E_ALL je konečně také E_STRICT
  • Zkrácený tvar při vytváření polí: $a = [1, 2, 3, 4]; nebo $a = ['one' => 1, 'two' => 2];
  • json_encode() – JSON_PRETTY_PRINT dokáže vypsat obsah v lépe čitelném tvaru, při použití JSON_UNESCAPED_SLASHES nebudou přidána zpětná lomítka před standardní lomítka a JSON_NUMERIC_CHECK zajistí převod číselných řetězců na čísla
  • Možnost dereference: foo()[0]
  • Anonymní funkce (closures) podporují $this
  • Zápis <?= je již vždy dostupný; bez ohledu na nastavenou hodnotu short_open_tag
  • Zápis binárního formátu, např. 0b001001101
  • Vylepšeny chybové zprávy a varování při nekompatibilních argumentech
  • Podpora „Traits
  • OpenSSL podporuje AES
  • SNM má objektové API
  • Přidáno $_SERVER['REQUEST_TIME_FLOAT'] udávající čas s přesností na mikrosekundy

Na webu se dočtete další podrobnosti ohledně nových možností.

Zpětná (ne)kompatibilita

Před přechodem na novou verzi věnujte čas k nastudování nekompatibilních změn. Zde je seznam těch nejdůležitějších:

  • Safe mode již není podporovaný (v PHP 5.3 byl ve výchozím nastavení vypnutý)
  • Odstraněny algoritmy Salsa10 a Salsa20
  • get_magic_quotes_gpc() a get_magic_quotes_runtime() vždy vrací hodnotu FALSE
  • Změna chování isset() a empty() při práci s řetězci
  • Převod pole na řetězec nyní vyvolá varování E_NOTICE
  • Pokud do funkce array_combine() předáte dvě prázdná pole, nově je vráceno array(), namísto FALSE
  • Zavrženými funkcemi se nově stávají: mysql_list_dbs(), get_magic_quotes_gpc(), get_magic_quotes_runtime() a mcrypt_generic_end()

Další podrobnosti naleznete v seznamu nekompatibilních změn a informacích o přechodu na novou verzi.

Vyšší výkon

Na webu vývojářů také naleznete několik testů, které porovnávají PHP 5.3 a PHP 5.4. V některých případech došlo až k 50 % zrychlení. Jen okrajově, ternární operátor je nyní při vracení polí mnohem výkonnější (operace již neprovádí přímo nad poli), zrychlení se dočkal Zend Engine, funkce unserialize() a výkonnější je také zpracování požadavků FastCGI.

Vývojáři opravili desítky chyb, všemožných změn a nových možností a parametrů je více než dost. Důkladně si proto projděte seznam úprav, kde naleznete všechny potřebné informace. Mezi nimi například i tu, že PHP 5.4 je poslední verze, která podporuje Windows XP a 2003.

A jak už bývá zvykem, nyní budou půl roku vycházet záplaty a po dalším půl roce začne být nová verze 5.4.x zajímavá pro reálné nasazení. Na běžných webhostinzích se začne objevovat opět pomalu, takže na opravdový přechod je ještě minimálně rok a půl čas.

Diskuze (18) Další článek: Servery v roce 2011: nejvíce prodalo HP, nejvyšší příjmy má IBM

Témata článku: Software, Programování, PHP, Nová možnost, Safe, Nová změna, Pole

Určitě si přečtěte


Aktuální číslo časopisu Computer

Jak rychlé je nabíjení bez drátů?

Test 11 sluchátek pro hráče

Aplikace, které vám zachrání dovolenou

Kompletní přehled datových tarifů