PHP-Дайджест № 175 (25 февраля – 10 марта 2020)

mkvdhgbbtdrhmyb2psk59i-njkw.jpeg

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

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


f574e9991c42407b8fa789a66b854f8d.png Новости и релизы


  • CodeIgniter 4.0 — Спустя 5 лет разработки вышла новая версия фреймворка. Переписан с нуля, но всё так же в виде единого пакета. Работает на PHP 7.2+, реализованы PSR-1,3,4.
  • Ближайшие мероприятия:
    • Ярославль, 12 марта: BeerPHP
    • Воронеж, 16 марта: 2-й PHP-митап городского чата
    • Екатеринбург, 26 марта: 3-й PHP-митап
    • Казань, 28 марта: 2-й PHP-митап
    • skyeng/php-communities — Открытый список PHP-событий, спикеров и организаторов.


c9ee7880391644e4aef6cc28ca681ab0.png PHP Internals


  • [RFC] Attributes v2 — Вторая попытка добавить полноценные аннотации в PHP с синтаксисом двойных угловых скобок <<...>>. Готов черновик реализации. Ранее уже были предложения о простых аннотациях и атрибутах, последнее предложение как раз не прошло голосование.
    Скрытый текст
    use Doctrine\ORM\Mapping as ORM;
    
    < UserRepository::class])>>
    <>
    class User
    {
        <>
        public int $id;
    
        < true])>>
        public string $email;
    
        <>
        public ?Address $address;
    }
    
  • [RFC] Increment/Decrement Fixes — Операторы инкремента и декремента в некоторых случаях ведут себя не так же, как явное прибавление/вычитание единицы с присвоением. Например:
    Скрытый текст
        
    В PHP 8 предлагается исправить эти и другие несоответствия и бросать TypeError где необходимо.
  • [RFC] Stringable — Предложение от Nicolas Grekas принято. В PHP 8 можно будет использовать union-тип string|Stringable там, где ожидается строка, и передавать классы с __toString(). При этом интерфейс явно добавлять не нужно.
  • [PR] Make sorting stable — Стандартные функции сортировки в PHP не являются стабильными. Это значит, что оригинальный порядок элементов с одинаковыми значениями не гарантируется (пример). Предлагается это исправить и сделать сортировки стабильными. Правда, при большом количестве одинаковых элементов такой фикс отразится на производительности.


cf862d9072784d04b621238ec137f2ca.png Инструменты


  • shivammathur/setup-php — GitHub action для добавления в свой воркфлоу, который подготовит среду PHP для дальнейших шагов.
  • minicli/minicli — Пакет для создания консольных утилит. Серия постов в поддержку.
  • cebe/php-openapi — Инструмент читает OpenAPI файлы с описанием сервисов в удобные для работы объекты PHP.


96b65e92179a40f2bd1884549973ddd5.png Symfony


314bd0f0dfc54e3fa7f0c0daef1a2d25.png Laravel


569de4298b764a33894aa517e74324f9.png Yii


  • yiisoft/friendly-exception — Релиз первого пакета из Yii 3. Интерфейс для описания человекопонятных исключений сразу с возможным решением.


pjlkob5btqut7it5e_eod-qtqh0.png Laminas


Async PHP


329bec7c1e914963a1c5d2f2bfe99995.png Материалы для обучения


8dcc236774104f8286a40ceaea553820.png Аудио/Видео

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

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

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

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

© Habrahabr.ru