Представлен релиз языка программирования PHP 7.3
07.12.2018
После года разработки представлен релиз языка программирования PHP 7.3. Новая ветка включает серию новых возможностей, а также несколько изменений, нарушающих совместимость.
Ключевые улучшения в 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 для получения клиентом дополнительных сообщений от сервера. Налажена поддержка режимов 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.
OpenNET
|
|
|
|
|
|
|
|
Новости мира IT:
- 18.03 - Компания xAI, созданная Илоном Маском, открыла большую языковую модель Grok
- 18.03 - В России создали адаптивную оптическую систему с рекордным быстродействием — она нужна для телескопов и сверхмощных лазеров
- 18.03 - «Бауманка» запустит первое в России серийное производство сверхпроводниковых квантовых процессоров
- 18.03 - Adobe запустила ИИ-генератор текстур для 3D-моделирования
- 18.03 - Apple проиграла гонку ИИ: будущие iPhone получат нейросеть Google Gemini
- 15.03 - В Москве запустят беспилотный трамвай в этом году
- 15.03 - По «Закону о чипах» Samsung может получить более $6 млрд субсидий в США
- 15.03 - Google усилила защиту Chrome от опасных сайтов без ущерба для конфиденциальности пользователя
- 15.03 - Apple приобрела DarwinAI — это поможет в добавлении ИИ-функций в iPhone
- 15.03 - Samsung и LG нарастили прибыль в России, хотя ушли из страны в 2022 году
- 15.03 - Microsoft добавила мощнейшую нейросеть GPT-4 Turbo в бесплатную версию Copilot
- 12.03 - Mozilla, Google, Microsoft и Apple разработали тест производительности браузеров Speedometer 3.0
- 12.03 - В 2023 году Яндекс выплатил этичным хакерам 70 млн рублей — почти вдвое больше, чем годом ранее
- 12.03 - Apple разрешила скачивать приложения на iPhone прямо из интернета, но только в ЕС
- 12.03 - К 2030 году объём мирового рынка ИИ-суперкомпьютеров достигнет $6,43 млрд
- 12.03 - Представлен релиз ядра Linux 6.8
- 12.03 - OpenAI отвергла обвинения Илона Маска, назвав их «бессвязными и запутанными»
- 12.03 - Midjourney теперь можно показать персонажа, чтобы он повторял его на генерируемых изображениях
- 06.03 - Опубликован релиз FreeBSD 13.3
- 06.03 - Microsoft лишит Windows 11 поддержки Android-приложений в 2025 году
Архив новостей
|
|
|
|
|
|
|
|
|
|
|
|
|