Опубликован (http://php.net/archive/2018.php#id2018-06-07-1) первый альфа-выпуск PHP 7.3. Релиз запланирован на 29 ноября.
Среди нововведений:
- Реализован гибкий синтаксис (https://wiki.php.net/rfc/flexible_heredoc_nowdoc_syntaxes) многострочной вставки (строки heredoc и nowdoc (http://php.net/manual/en/language.types.string.php#language....)), не требующий обязательного перевода строк после маркера окончания блока и допускающий выравнивание отступами;
- Добавлена (https://wiki.php.net/rfc/list_reference_assignment) поддержка назначения ссылок в list(): синтаксис "list($a, &$b) = $array;", эквивалентный присвоению "$a = $array[0]; $b =& $array[1];" ;
- В заголовок страницы phpinfo(), добавлено отображение переменной PHP_VERSION;
- В расширение Date добавлен метод DateTime::createFromImmutable();
- В расширение GD в функции imagecreatefromstring() появилась поддержка создания изображений в формате WebP;
- В расширение OpenSSL добавлена функция openssl_pkey_derive();
- Расширение PCRE переведено (https://wiki.php.net/rfc/pcre2-migration) на ветку PCRE2;
- Расширение SQLite3 обновлено до libsqlite 3.24.0;- Представлена новая функция net_get_interfaces() для получения информации о доступных сетевых интерфейсах;
- Улучшена работа сборщика мусора;
- Переработан PHP-скрипт ext_skel (http://php.net/manual/en/internals2.buildsys.skeleton.php) (генерирует шаблоны кода дополнений), который теперь можно полноценно запускать в Windows без дополнительных зависимостей ('php ext_skel.php');
- Прекращена поддержка платформы BeOS.URL: http://php.net/archive/2018.php#id2018-06-07-1
Новость: https://www.opennet.me/opennews/art.shtml?num=48754
> Расширение PCRE переведено на ветку PCRE2;как мы все любим обмазываться свеженьким...
говори за себя
По сравнению с 7.2 ничего интересного.
Написанное для 7.3 прекрасно будет выполнятся на 7.2.
улучшения GC радуют: https://github.com/php/php-src/pull/3165 (nikic там приводит результаты бенчмарков)
Бенчи глянь на похорониксе
А вот эта фича с list из второго пункта?
На самом деле нормальный синтаксис для HEREDOC - замечательно. Потому что уж сильно режет глаз, если пишется в классах с 4-х пробельным выравниванием.
>Прекращена поддержка платформы BeOS.Теперь гаечка будет без php?
Как я понял вот отсюда (https://github.com/php/php-src/pull/2697), удаляли именно BeOS. Гайку оставили. Может я что не так понял?
> Прекращена поддержка платформы BeOS.Это начало конца для PHP.
>> Прекращена поддержка платформы BeOS.
>
> Это начало конца для PHP.Ничего святого! Так скоро и до выпиливания поддержки OS/2 докатятся!
Когда уже сделают конструкцию вида "object?.method"? Всякое г***о пилят вместо нужного.
и как же она должна работать?
https://en.wikipedia.org/wiki/Safe_navigation_operator
любопытно, спасибо.и часто бывает полезна?
его повсеместное использование означает полное невладение ООП, в частности паттерном Special Case: https://www.martinfowler.com/eaaCatalog/specialCase.html
Кроме ООП есть и другие модели программирования, особенно, когда важна скорость. Не надо фанатства.
ага, __объектная__ нотация без ООП.
Объекты не всегда подразумевают ООП.
Когда важна скорость, пишут не на php.
А это идея. Сделать Kotlin с бакендом php (как сейчас JRE). Тогда можно будет писать на Kotlin и использовать такие конструкции. При этом довольно легко стыковать код написанный на обоих языках.Только не факт, что семантика php позволит так сделать.
Идите вы в... Ruby :)
В Ruby не ходят, туда едут по рельсам ...
это тот, который сотни ресурсов жрёт как не в себя?
Зачем? При граматном подходе такие костыли не нужны.
сейчас тебе объяснят, что грамотный подход - это фанатство
А как же закон Деметры и правило "use only one dot". That is, the code a.b.Method() breaks the law where a.Method() does not.