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.

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.

Témata článku: Software, Programování, PHP, Pole, Safe

18 komentářů

Nejnovější komentáře

  • j.r.fish 4. 3. 2012 0:08:02
    ještě stojí za zmínku přidání nového typehintu "callable"
  • miser 2. 3. 2012 23:01:54
    Nejvíc mě dostal návrat GOTO :)
  • Odpadlík 2. 3. 2012 21:22:26
    Tenhle rádoby jazyk ještě někdo používá? Člověk by čekal, že když je tu...
Určitě si přečtěte

Operační systém běžným počítačům nedal Bill Gates, ale Gary Kildall

Operační systém běžným počítačům nedal Bill Gates, ale Gary Kildall

** Gary Kildall pochopil, že levné výpočetní čipy mohou posloužit jako univerzální počítače pro všechny ** Připravil pro ně proto první operační systém ** Později mu systém vyfoukl Microsoft a nazval ho MS DOS

23.  4.  2017 | Pavel Tronner | 57

Umělá inteligence je sice v plenkách, už teď ale přestáváme rozumět, jak vlastně funguje. To je problém

Umělá inteligence je sice v plenkách, už teď ale přestáváme rozumět, jak vlastně funguje. To je problém

** Už je to tady, lidé přestávají chápat počítače ** Systémy neuronových sítí začínají pracovat tak, že ani jejich tvůrci přesně neví, co se uvnitř děje ** Do budoucna to může být závažný problém

24.  4.  2017 | Jakub Čížek | 112

Před 35 lety měl premiéru legendární počítač ZX Spectrum. Připomeňte si „Gumáka“

Před 35 lety měl premiéru legendární počítač ZX Spectrum. Připomeňte si „Gumáka“

** Slavný osmibitový počítač Sinclair ZX Spectrum byl uveden právě před 35 lety ** Připomeňte si tento průkopnický počítač v tematických článcích ** Podívejte se, jak funguje dnes

23.  4.  2017 | Pavel Tronner | 13

Správný počítač má alespoň dva monitory. Anebo je to jinak?

Správný počítač má alespoň dva monitory. Anebo je to jinak?

** David si nedokáže představit práci bez dvou a více monitorů ** Kubovi naopak stačí jeden a ve více displejích se ztrácí ** Jaký přístup je lepší?

23.  4.  2017 | Jakub Čížek | 59

Acer chrlí novinky: levný a tenký Predator, nové Switche a další notebooky

Acer chrlí novinky: levný a tenký Predator, nové Switche a další notebooky

** Acer na konferenci v New Yorku představil velkou spoustu novinek z oblasti počítačů, notebooků i monitorů ** Notebookové novinky se dotkly řad Predator, Swift, Switch i Aspire ** Herní notebooky dostaly nový typ chlazení

Včera | Karel Javůrek | 7


Aktuální číslo časopisu Computer

Supertéma: moderní cestování

Kdy opravdu přijdou nové baterie?

Velké testy: 6 herních notebooků a 8 volantů

Recenze: AMD Ryzen řady 5