PHP-Дайджест № 190 (5 – 19 октября 2020)

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.
Фото: Илья Шихалеев.

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 8.0 RC 2, Xdebug 3 beta, PhpStorm EAP с поддержкой PHPStan и Psalm, порция полезных инструментов, статьи, видео, митапы.

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



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


  • PHP 8.0.0 RС 2 — Следующий релиз-кандидат ожидается 29 октября. Для 8.0 создана ветка, а master репозитория теперь используется для PHP 8.1.

    Обзоры новых фич в PHP 8 можно посмотреть в постах Что нового в PHP 8 и PHP 8: до и после, также в блоге PhpStorm об использовании в IDE, обзоры Ларри Гарфильда и на PHP.Watch.

    Попробовать PHP 8 можно из докера php:rc-cli, на маке через shivammathur/homebrew-php, собрать из исходников с помощью github.com/php-build/php-build.
  • Xdebug 3.0 beta 1 — В третьей версии переработана конфигурация, чтоб начать работу с отладчиком было легче: достаточно одной опции xdebug.mode=debug. Порт по умолчанию, изменен с 9000 на 9003 — наконец-то не будет конфликтов с php-fpm, который тоже использует 9000. Подробнее в руководстве по обновлению.
  • Composer 2.0.0 RC2 — Последний релиз-кандидат перед финальной версией. Чтобы попробовать сейчас: composer self-update --preview.
  • PhpStorm 2020.3 EAP — Во втором билде раннего доступа доступна поддержка PHPStan и Psalm: запуск инспекций, автодополнение тегов, поддержка типов, и даже первый тривиальный кейс для дженериков через @template.

    Кстати, в прошедшем недавно AMA на Reddit с командой PhpStorm Никита дал подробный ответ о состоянии дел и перспективах дженериков в PHP. Если коротко, то стираемые дженерики являются наиболее жизнеспособным подходом с чисто технической точки зрения, но в тоже время он очень не консистентен и оставляет дыру в типобезопасности.
  • habr 29 ноября в Москве конференция PHP Russia будет офлайн.
  • phpcommunity.ru — PHP-сообщества в России, Беларуси, Украине.

    Месяц PHP-митапов: каждую субботу с 17 октября по 14 ноября.

Инструменты


  • PHP-DI — Независимый от фреймворка DI-контейнер.
  • markrogoyski/math-php — Мощная современная математическая библиотека для PHP.
  • Danack/FloatHex — Функции для преобразования числа с плавающей точкой в шестнадцатеричную строку и обратно, а также для отображения двух чисел с плавающей точкой в виде двоичного представления. Или еще раз почему 0.1 + 0.2 === 0.3 -> false
    Скрытый текст
    echo float_compare(0.3, 0.1 + 0.2);
    >>
    ┌──────┬─────────────┬──────────────────────────────────────────────────────┐
    │ Sign │ Exponent    │ Mantissa                                             │
    │    0 │ 01111111101 │ 0011001100110011001100110011001100110011001100110011 │
    │    0 │ 01111111101 │ 0011001100110011001100110011001100110011001100110100 │
    │    - │ ----------- │ -------------------------------------------------xxx │
    └──────┴─────────────┴──────────────────────────────────────────────────────┘
    
  • marcocesarato/PHP-Antimalware-Scanner — Сканер для поиска вредоносного кода в PHP-файлах.
  • Prometheus PHP — Клиент для prometheus.io на PHP.
  • shivammathur/setup-php — GitHub action для установки PHP, расширений, и прочего для последующего использования в своих пайплайнах. Небольшой обзор в блоге GitHub.

Symfony


  • Неделя Symfony #720 (12-18 октября 2020)
  • Новые члены core-команды Symfony.
  • Что нового будет в Symfony 5.2 Среди прочего, в Symfony 5.2 можно использовать атрибуты PHP 8. Добавлена поддержка атрибутов для аргументов контроллера и пример в виде #[CurrentUser] для получения текущего пользователя:
    public function index(#[CurrentUser] MyUser $user) { /* ... */ }

Laravel


  • ksassnowski/venture — Инструмент позволяет строить сложные цепочки задач на основе системы очередей Laravel.
  • spatie/spatie.be — Spatie открыли код своего сайта spatie.be. И также прилагается серия туториалов с разбором всех тонкостей реализации.
  • video Стрим: Генерируем динамические картинки open graph с заголовками постов.
  • ru Полное руководство по каркасам аутентификации в Laravel.
  • habr Laravel–Дайджест (12–18 октября 2020)
  • habr Laravel Jetstream. Зачем?
  • video Тейлор отвечает на вопросы про Jetstream.

Async PHP


  • clue/reactphp-mq — Легковесная очередь сообщений в памяти на базе ReactPHP.

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


  • Transpiling PHP code from 8.0 to 7.x via Rector — Если обновиться на новую версию PHP нет возможности, но новые фичи при разработке использовать хочется, то можно добавить этап «компиляции» в проект и даунгрейдить с помощью rector/rectorphp.
  • Инструкция о том, как писать тесты для самого PHP — Для этого не надо знать C, потому что тесты пишутся на PHP.
  • Как обрабатывать большое число веб-хуков — использовать очередь и отложенную обработку.
  • Настраиваем PhpStorm для использования с PHPUnit и Xdebug через Docker.
  • Именованные параметры PHP 8.0 и вариативные функции — О разных способах вызова функций с произвольным числом аргументов и использовании spread оператора (...) в PHP 8.
  • Кеширование делает все быстрее? — Пост от автора PHPUnit о том, почему добавление кеширования для покрытия кода в PHPUnit не дало желаемого эффекта и как в итоге решили эту проблему.
  • Анализ PHP-скрипта распространяющего малварь Emotet.
  • habr Как я за вечер написал быструю CMS для статических сайтов по правилам бизнес-логики в одном файлике.
  • habr Я сомневался в юнит-тестах, но… — Расшифровка подкаста audio “Между скобок” с Владимиром Янцем.
  • habr Ловим баги на клиенте: как мы написали свою систему для сбора клиентских ошибок.
  • habr Типобезопасная работа с массивами PHP, часть 2.

Аудио/Видео


  • video ХудоБедно с Сергеем Жуком, Антоном Моревым и Александром Макаровым про онбординг и все, что с ним связано.
  • video Deploy Friday #27 — Language Spotlight: PHP — Подкаст с участием релиз-менеджеров PHP 8 Sara Golemon и Gabriel Caruso, a также Larry Garfield. Про современный PHP.



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

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

Прислать ссылку
Поиск ссылок по всем дайджестам
← Предыдущий выпуск: PHP-Дайджест № 189
Источник: https://habr.com/ru/post/524040/


Интересные статьи

Интересные статьи

Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него. Читать дальше →
В нашей новой подборке ловим баги на клиентах, пишем автотесты и встраиваем аналитику, изучаем KMM и новинки Flutter, дизайн системы и работу CTO, игровую логику и траты россиян на пр...
Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 8 beta 3, принят новый синтаксис атрибутов в PHP 8, Zephir всё, целая пачка полезных инструментов, статьи, видео, ...
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него. Читать дальше →
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него. Читать дальше →