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

от автора

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

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

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

  • 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-событий, спикеров и организаторов.

PHP Internals

  • [RFC] Attributes v2 — Вторая попытка добавить полноценные аннотации в PHP с синтаксисом двойных угловых скобок <<...>>. Готов черновик реализации. Ранее уже были предложения о простых аннотациях и атрибутах, последнее предложение как раз не прошло голосование.
    Скрытый текст

    use Doctrine\ORM\Mapping as ORM;  <<ORM\Entity(["repositoryClass" => UserRepository::class])>> <<ORM\Table("users")>> class User {     <<ORM\Id, ORM\Column, ORM\GeneratedValue>>     public int $id;      <<ORM\Column(["unique" => true])>>     public string $email;      <<ORM\ManyToOne()>>     public ?Address $address; } 
  • [RFC] Increment/Decrement Fixes — Операторы инкремента и декремента в некоторых случаях ведут себя не так же, как явное прибавление/вычитание единицы с присвоением. Например:
    Скрытый текст

        <?php      $a = [];     $a = ++$a; // [] and no errors     $a = $a + 1; // Fatal error     

    В PHP 8 предлагается исправить эти и другие несоответствия и бросать TypeError где необходимо.

  • [RFC] Stringable — Предложение от Nicolas Grekas принято. В PHP 8 можно будет использовать union-тип string|Stringable там, где ожидается строка, и передавать классы с __toString(). При этом интерфейс явно добавлять не нужно.
  • [PR] Make sorting stable — Стандартные функции сортировки в PHP не являются стабильными. Это значит, что оригинальный порядок элементов с одинаковыми значениями не гарантируется (пример). Предлагается это исправить и сделать сортировки стабильными. Правда, при большом количестве одинаковых элементов такой фикс отразится на производительности.

Инструменты

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

Symfony

Laravel

Yii

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

Laminas

Async PHP

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

Аудио/Видео

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

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

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

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

ссылка на оригинал статьи https://habr.com/ru/post/491660/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *