Novinky v PHP 5.4

PHP

POZOR! Článek jsem napsal před více jak rokem, a tudíž už nemusí reflektovat můj nynější názor nebo může být zastaralý.

Prvního března vyšla nová verze našeho oblíbeného programovacího jazyka PHP. Představím vám nejzajímavější novinky, které přináší.

Zpětně nekompatibilní změny

  • Odstraněn safe mode
  • Odstraněn magic quotes
  • Odstraněna direktivita register_globals
  • Konvertování array na string vyvolá chybu E_NOTICE, ale vrací se string ‚Array‘

Následující klíčová slova jsou nyní reservována. Nemůžou být tedy použita jako název funkcí, tříd a podobné.

  • trait
  • callable
  • insteadof

Následují funkce byly odstraněny.

  • define_syslog_variables()
  • import_request_variables()
  • session_is_registered(), session_register() a session_unregister()
  • mysqli_bind_param(), mysqli_bind_result(), mysqli_client_encoding(), mysqli_fetch(), mysqli_param_count(), mysqli_get_metadata(), mysqli_send_long_data(), mysqli::client_encoding() a mysqli_stmt::stmt()

Nová funkčnost

  • traits (to si zaslouží samostatný článek ;-))
  • zkrácená definice pole
$a = [1, 2, 3, 4];
$a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];
  • K poli, které vrací funkce lze přistupovat rovnou
$foo = bar()[0];
  • Kontrukce <?= je vždy podporována nezávisle na php.ini
  • Nová syntaxe u objektů: (new Foo)->bar() a Class::{expr}()
  • Přidán binární formát čísel: 0b001001101

Nově zastaralé funkce

  • mcrypt_generic_end()
  • mysql_list_dbs()

Nové funkce

Spousta nových funkcí souvisí hlavně s traits.

  • hex2bin()
  • http_response_code()
  • get_declared_traits()
  • getimagesizefromstring()
  • stream_set_chunk_size()
  • socket_import_stream()
  • trait_exists()
  • header_register_callback()

Znáte někoho, komu by článek mohl pomoct? Zasdílejte mu ho :)

Komentáře