Новые возможности
PHP версии 5.4.0 предлагает широкий спектр новых возможностей:
- Добавлена поддержка трейтов.
- Добавлен короткий синтаксис объявления массивов. Например, $a = [1, 2, 3, 4]; или $a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];.
- Добавлена возможность разыменования массивов, возвращаемых функциями. Например: foo()[0].
- Классы для создания анонимных функций (Closures) теперь поддерживают $this.
- Оператор <?= теперь доступен всегда, несмотря на значение php.ini опции short_open_tag.
- Добавлена возможность получения доступа к члену класса при создании экземпляра. Например: (new Foo)->bar().
- Теперь поддерживается такой синтаксис: Class::{expr}().
- Добавлен бинарный формат задания чисел, например: 0b001001101.
- Улучшены сообщения об ошибках разбора и предупреждения о несовместимых аргументах.
- Расширение по работе с сессиями теперь может отслеживать процесс загрузки файлов.
- Встроенный веб-сервер в режиме командной строки для разработчиков.
- Что изменилось в 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"
?>