Как стать автором
Обновить

PHP-Дайджест № 168 (5 – 25 ноября 2019)

Время на прочтение 4 мин
Количество просмотров 15K

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4 RC6, Symfony 5.0 и 4.4, WordPress 5.3 и другие релизы, об обновлении PSR-стандартов, RFC предложения из PHP Internals, порция полезных инструментов, митапы, видеозаписи, подкасты и многое другое.

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



Новости и релизы



PHP Internals


  • [RFC] Weak maps — В PHP 7.4 была добавлена поддержка слабых ссылок через специальный класс WeakReference. Но в действительности для приложений нужна коллекция WeakMap, которую нельзя реализовать на основе WeakReference. Собственно, её и предлагается добавить.
    Скрытый текст
    $map = new WeakMap();
    $obj = new stdClass();
    $map[$obj] = 42;
    var_dump($map);
    // object(WeakMap)#1 (1) {
    //   [0]=>
    //     ["key"] => object(stdClass)#2 (0) {}
    //     ["value"] => int(42)
    //   }
    // }
    
    // Объект уничтожается здесь,
    // и ключ автоматически удаляется из WeakMap
    unset($obj);
    var_dump($map);
    // object(WeakMap)#1 (0) {
    // }
    
  • [RFC] Implement new DOM Living Standard APIs in ext/dom — Предложение о реализации поддержки нового стандарта DOM в расширении ядра принято единогласно.
  • [RFC] Deprecate Backtick Operator (V2) — Отклонено на голосовании.
  • [RFC] Union Types 2.0 — Предложение принято практически единогласно и в PHP 8.0 нас ждут объединённые типы. Синтаксис T1|T2|... можно будет использовать везде, где типы можно указывать сейчас.
  • audio PHP Internals News podcast #36 — О тех RFC, которые не прошли в PHP 7.4.

Инструменты


  • lisachenko/z-engine — Экспериментальная библиотека, которая позволяет используя FFI получить доступ к внутренним структурам самого PHP, таким как zend_class_entry, zval, и подобным, и изменять их в рантайме. Это позволяет делать самые немыслимые манипуляции в рантайме.
  • nette/safe-stream — Библиотека позволяет производить атомарные и безопасные чтение/запись файлов с помощью стандартных функций PHP.
  • krakjoe/ilimit — Расширение позволяет выполнить функцию наложив при этом ограничения на время и память, которые может потребовать вызов.
  • Twig 3.0Под капотом много мелких улучшений, повышена производительность, почищен код.
  • fzaninotto/Faker 1.9 — Более сотни улучшений и исправлений в свежем обновлении инструмента для генерации тестовых данных.
  • cekta/di — Годная реализация PSR-11.
  • tarantool-php/client — PHP-клиент для Tarantool. Бенчмарки PHP синхронных коннекторов для Tarantool запущенных в асинхронном/параллельном режиме с помощью расширений Swoole, Async и Parallel (и их комбинаций). Прислал rybakit.
  • badoo/jira-clienthabr Badoo Jira API Client: магия в Jira на PHP.

Symfony



Laravel



Yii



Async PHP



Материалы для обучения



Аудио/Видео


Теги:
Хабы:
+54
Комментарии 15
Комментарии Комментарии 15

Публикации

Истории

Работа

PHP программист
175 вакансий

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн