PHP-Дайджест № 171 (1 – 13 января 2020)

Автор: admin от 13-01-2020, 05:25, посмотрело: 138

PHP-Дайджест № 171 (1 – 13 января 2020)


Свежая подборка со ссылками на новости и материалы. В выпуске: 4 свежих RFC из PHP Internals и интересные пул-реквесты в PHP 8, порция полезных инструментов, подкасты, стримы и многое другое.



Приятного чтения!



[RFC] Variable Syntax Tweaks — В PHP 7 был исправлен ряд неконсистентностей в синтаксисе переменных Uniform Variable Syntax RFC. Некоторые упущения, связанные с разыменованием, предлагается доисправить в PHP 8.
  • [RFC] Static return type — Ключевое слово static в контексте декларации типа означает позднее статическое связывание. Предлагается сделать возможным его использование в качестве возвращаемого типа методов. Удобно в текучих интерфейсах или статических конструкторах. Для свойств класса и параметров методов это не имеет смысла и работать не будет.

  • [RFC] Allow ::class on objects — В PHP 8 предлагается сделать возможным получение полного имени класса из объекта $object::class по аналогии с тем, как это работает сейчас FooBar::class.

  • [RFC] «use global functions/consts» statement — Если функция или константа используются без префикса, то PHP попытается сначала найти их в текущем неймспейсе, а затем в глобальном. Автор предлагает добавить директивы use global functions; и use global consts;, которые заставят интерпретатор функции и константы без префиксов по-умолчанию искать в глобальном пространстве.

  • [RFC] Weak maps — Предложение принято и WeakMaps будут доступны в PHP 8.



    Несколько изменений доступны в виде пул-реквестов:

  • [PR] Deprecate required param after optional — В данном реализовано предупреждение об использовании обязательного параметра после опционального в сигнатуре функции:

    function test(FooBar $param = null, $param2)


    Раньше это могло иметь смысл, но с nullable типами можно написать function test(?FooBar $param, $param2).

  • [PR] Check abstract method signatures coming from traits — Сигнатуры абстрактных методов из трейтов не валидируются на соответствие реализации. То есть вот такой код сейчас работает без ошибок: Пул-реквест исправляет это поведение.

  • [PR] Ensure correct signatures for PHP magic methods — А в этом PR, реализована проверка сигнатур магических методов. На данный момент она есть только для __toString() и __clone(), а вот такое, например, работает без ошибок:



  • PHP-Дайджест № 171 (1 – 13 января 2020) Инструменты




    • nikic/PHP-Fuzzer — Экспериментальный фазер для PHP-библиотек от Никиты Попова. Инструмент генерирует случайные входные данные для функций и может помочь найти неожиданные баги.

    • lukanetconsult/network-address-types — Набор типов для представления сетевых адресов в PHP.

    • carlosas/phpat — Статический анализатор для тестирования архитектуры. Предоставляет набор селекторов и правил.

    • maglnet/ComposerRequireChecker — Инструмент проверит, что все используемые зависимости вашего проекта указаны явно в composer.json.

    • php-service-bus/service-bus — Фреймворк на базе Amphp для построения приложений с использованием паттернов Saga, CQRS, EventSourcing, Message Bus.

    • tigitz/php-spellchecker — Обёртка для проверки текста на ошибки набором разных спелл-чекеров.

    • franzliedke/studio — Инструмент для разработки Composer пакетов при одновременном использовании.



    PHP-Дайджест № 171 (1 – 13 января 2020) Symfony





    PHP-Дайджест № 171 (1 – 13 января 2020) Laravel





    PHP-Дайджест № 171 (1 – 13 января 2020) Zend / Laminas





    CMS





    PHP-Дайджест № 171 (1 – 13 января 2020) Материалы для обучения







    PHP-Дайджест № 171 (1 – 13 января 2020) Аудио/Видео





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



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

    Вопросы и предложения пишите на почту или в твиттер.



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



    Прислать ссылку

    Поиск ссылок по всем дайджестам

    <- Предыдущий выпуск: PHP-Дайджест № 170



    Источник: Хабр / Интересные публикации

    Категория: Программирование

    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

    Добавление комментария

    Имя:*
    E-Mail:
    Комментарий:
    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent