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 :)