PHP-Дайджест № 145 (26 ноября – 10 декабря 2018)

в 21:44, , рубрики: Async PHP, laravel, Magento, php, PHP 7.3, php-дайджест, phpstorm, symfony, wordpress, yii, дайджест, Разработка веб-сайтов

PHP-Дайджест № 145 (26 ноября – 10 декабря 2018) - 1

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.3.0, Symfony 4.2, Composer 1.8.0 и другие релизы, конец поддержки PHP 5.6 и PHP 7.0, свежие предложения из PHP Internals, порция полезных инструментов, видеозаписи докладов и многое другое.
Приятного чтения!

PHP-Дайджест № 145 (26 ноября – 10 декабря 2018) - 2 Новости и релизы

  • PHP 7.3.0 — Долгожданный мажорный релиз PHP доставлен строго по расписанию. Спасибо всем контрибьюторам и релиз-менеджерам за проделанную работу! В свежей версии интерпретатора ряд улучшений:
    • Улучшения Heredoc и Nowdoc синтаксиса RFC
    • Функции json_encode() и json_decode() будут бросать исключение в случае ошибки и наличия соответствующего флага RFC
    • Возможность использовать запятую после последнего аргумента функции RFC
    • Добавлены функции array_key_first() и array_key_last() RFC
    • Новая функция hrtime(), которая возвращает время высокой точности и не зависит от системного времени PR
    • Добавлена функция is_countable() для проверки на перечислимость RFC
    • Использование ссылок в list() RFC
    • Значительное улучшение сборщика мусора улучшает работу с больши́м количеством объектов PR
    • Движок регулярных выражений обновлен до PCRE2 RFC
    Полный список изменений в документе UPGRADING.
    Очень рекомендую посмотреть руководство по миграции с PHP 7.2.x на PHP 7.3.x, спасибо lex111 за перевод.
  • Свет также увидели обновления PHP 5.6.39, PHP 7.0.33, PHP 7.1.25 и PHP 7.2.13. И это последние релизы веток 5.6 и 7.0, а PHP 7.1 переходит в режим поддержки безопасности. Таким образом, на данный момент актуальными остаются только ветки PHP 7.2 и PHP 7.3.
  • PHP на AWS Lambda — На конференции AWS re:Invent 2018, кроме всего прочего, анонсирована поддержка кастомных рантаймов для AWS Lambda. PHP из коробки поддерживается через stackery/php-lambda-layer, но можно сделать и свою реализацию. Это значит, что вместо костылей в виде запуска через Nodejs или Go, теперь можно писать полноценные лямбды на чистом PHP.
  • Composer 1.8.0
  • CakePHP 3.7.0
  • PHPUnit 7.5.0

PHP-Дайджест № 145 (26 ноября – 10 декабря 2018) - 3 PHP Internals

  • [RFC] FFI — Foreign Function InterfaceКонцепт от Дмитрия Стогова теперь оформлен в виде полноценного предложения. Реализация даст возможность использовать функции и структуры данных из C-модулей напрямую. В качестве примера можно посмотреть на PHP-биндинг для TensorFlow. Большие возможности, правда, открывают и широкий простор для потенциальных проблем и уязвимостей, поэтому предлагается по умолчанию разрешить FFI только в CLI-скриптах и предзагруженных файлах.
  • [RFC] Covariant Returns and Contravariant Parameters — Предлагается сделать более консистентным типы, в частности, разрешить «сужать» тип возвращаемого значения в наследниках, и «расширять» тип параметров.
    Скрытый текст

    interface X {
      function m(Y $z): X;
    }
    interface Y extends X {
      // Тут можно будет сужать тип
      function m(X $z): Y;
    }
    
    
    
    interface Concatable {
        function concat(Iterator $input); 
    }
     
    class Collection implements Concatable {
        // А тут можно будет расширять тип
        function concat(iterable $input) {/* . . . */}
    }
    

PHP-Дайджест № 145 (26 ноября – 10 декабря 2018) - 4 Инструменты

  • spatie/period — Библиотека позволяет делать сложные сравнения дат, например, найти пересечения периодов, разницу, пробелы, крайние границы и прочее.
  • scrivo/highlight.php — Порт highlight.js, который позволяет подсвечивать синтаксис на сервере. Интеграция с markdown через spatie/commonmark-highlighter.
  • 3v4l.org/live — Интерактивный онлайн PHP шелл (REPL).
  • j6s/phparch — Библиотека для архитектурного тестирования PHP-проектов, вдохновленная archlint (C#) и archunit (Java). Разработка в процессе.
  • halaxa/json-machine — Потоковое чтение (декодирование) JSON. Для потокового кодирования подойдет violet-php/streaming-json-encoder.
  • DivineOmega/password_exposed — Проверяет с помощью haveibeenpwned.com API был пароль скомпрометирован.
  • skollro/alexa-php-sdk — SDK для разработки скилов для Amazon Alexa на PHP.
  • pyrech/composer-changelogs — В удобном виде выводит информацию об обновленных пакетах после выполнения composer update.
  • RubixML/RubixML — Библиотека для применения машинного обучения на PHP. Альтернатива php-ai/php-ml.

PHP-Дайджест № 145 (26 ноября – 10 декабря 2018) - 5 Материалы для обучения

PHP-Дайджест № 145 (26 ноября – 10 декабря 2018) - 19 Аудио и видеоматериалы

PHP-Дайджест № 145 (26 ноября – 10 декабря 2018) - 23 Занимательное

Спасибо за внимание!

Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
Вопросы и предложения пишите на почту или в твиттер.

Больше новостей и комментариев в телеграм-канале PHP Digest.

Прислать ссылку
Поиск ссылок по всем дайджестам
Предыдущий выпуск: PHP-Дайджест № 144

Автор: Роман Пронский

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js