New features
PHP 5.4.0 offers a wide range of new features:
- Support for traits has been added.
- Short array syntax has been added, e.g. $a = [1, 2, 3, 4]; or $a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];.
- Function array dereferencing has been added, e.g. foo()[0].
- Closures now support $this.
- <?= is now always available, regardless of the short_open_tag php.ini option.
- Class member access on instantiation has been added, e.g. (new Foo)->bar().
- Class::{expr}() syntax is now supported.
- Binary number format has been added, e.g. 0b001001101.
- Improved parse error messages and improved incompatible arguments warnings.
- The session extension can now track the upload progress of files.
- Built-in development web server in CLI mode.
- Что изменилось в PHP 5.4.x?
- Обратно несовместимые изменения
- Новые возможности
- Изменения в модулях SAPI
- Устаревшие функции и возможности в PHP 5.4.x
- Измененные функции
- Новые функции
- Новые классы и интерфейсы
- Новые методы
- Удаленные расширения
- Другие изменения в расширениях
- Новые глобальные константы
- Изменения в обработке INI-файлов
- Другие изменения
Коментарии
'callable' was implemented as a typehint in 5.4
As of PHP 5.4, the CLI (using readline) no longer dies on fatal errors (for example calling undefined functions).
PHP 5.4 also allows to use arrays in switch:
<?php
$foo = 1;
$bar = 2;
switch([$foo, $bar]) {
case [1, 2]:
echo 'case 1';
break;
case [2, 2]:
echo 'case 2';
break;
case [3, 4]:
echo 'case 3';
break;
}
// Will output "case 1"
?>