Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Вышел PHP 7.3

0 views
Skip to first unread message

Anton Poletayev

unread,
Dec 7, 2018, 8:24:58 AM12/7/18
to
Hello, All!

После года разработки представлен релиз языка программирования PHP 7.3.
Hовая ветка включает серию новых возможностей,
а также несколько изменений, нарушающих совместимость.

Ключевые улучшения в PHP 7.3:

- Реализован гибкий синтаксис многострочной
вставки (строки heredoc и nowdoc), не требующий
обязательного перевода строк после маркера
окончания блока и допускающий выравнивание отступами;

- Добавлена поддержка назначения ссылок в list():
теперь поддерживается синтаксис "list($a, &$b) = $array;",
эквивалентный присвоению "$a = $array[0]; $b =& $array[1];".
Предложен также упрощённый синтаксис присвоения,
позволяющий указывать вместо "list()" квадратные скобки,
например "[$a, &$b] = $array;"

- При вызове функций и методов теперь допускается
оставление запятых в конце списка аргументов,
например, "unset($foo, $bar, $baz,)";

- Расширение PCRE переведено на ветку PCRE2;
Выражение "instanceof" теперь допускает указание
литералов в качестве первого операнда
(в такой ситуации результат всегда будет FALSE);

- Добавлено новое исключение CompileError,
наследуемое от ParseError и генерирующее
для некоторых типов ошибок перехватываемое
событие CompileError вместо фатальной ошибки;

- Значительно расширены возможности и увеличена
производительность дополнения MBString,
в том числе добавлены полноценные средства
для манипуляций с регистром символов
(MB_CASE_LOWER, MB_CASE_UPPER, MB_CASE_TITLE, MB_CASE_FOLD и т.п.),
до версии 11 обновлена поддержка спецификаций Unicode,
добавлена поддержка строк, размером больше 2 Гб,
в функциях mb_ereg_*() добавлена поддержка именованного
захвата элементов. Объявлены устаревшими вызовы mbereg_*(),
вместо которых следует использовать corresponding mb_ereg_*();

- В SAPI-модуль FPM добавлены новые глобальные опции log_limit и log_buffering
для ограничения размера выводимой в лог строки
и включения режима записи в лог без буферизации.
Также добавлена опция decorate_workers_output,
позволяющая отключить декорирование вывода
от рабочих процессов при активации режима catch_workers_output;

- В расширении LDAP в большинстве функций,
таких как ldap_add и ldap_read, появился параметр serverctrls
для отправки на сервер дополнительных сообщений
(LDAP Controls - механизм расширения операций LDAP
и передачи дополнительной информации вместе с запросом),
а в ldap_parse_result для получения клиентом
дополнительных сообщений от сервера.
Hалажена поддержка режимов LDAP_OPT_SERVER_CONTROLS
и LDAP_OPT_CLIENT_CONTROLS в функциях ldap_get_option и ldap_set_option;

- В заголовок страницы phpinfo(), добавлено отображение переменной PHP_VERSION;

- В расширение Date добавлен метод DateTime::createFromImmutable();

- В расширение GD в функции imagecreatefromstring()
появилась поддержка создания изображений в формате WebP;

- При сборке с опцией configure --with-password-argon2
в функциях password_hash(), password_verify(),
password_get_info() и password_needs_rehash()
обеспечена поддержка алгоритмов хэширования паролей Argon2i и Argon2id;

- Добавлена функция hrtime() для вывода значения времени
(число секунд и наносекунд) на основании показаний монотонного таймера,
отражающего неразрывно увеличивающееся время, прошедшее
с определённого момента в прошлом;

- Представлена новая функция net_get_interfaces()
для получения информации о доступных сетевых интерфейсах;

- Улучшена работа сборщика мусора;

- Переписана на PHP утилита ext_skel (генерирует шаблоны кода дополнений),
для запуска которой теперь не нужно дополнительных зависимостей
и её можно запускать в том числе в Windows ('php ext_skel.php');

- Объявлено устаревшим определение имён констант не чувствительных к регистру
(определялись при помощи указания в define специального флага).
Приведены к соответствию с поведением Unix операции
открытия файлов в Windows: файловые дескрипторы теперь
по умолчанию открываются в Windows в режиме, допускающем чтение,
запись и удаление (открытые файлы теперь можно удалить);

- Прекращена поддержка платформы BeOS.

0 new messages