ДайджестХабрахабр

PHP-Дайджест № 161 (15 – 29 июля 2019)

В выпуске: PHP 7. Свежая подборка со ссылками на новости и материалы. 0 beta 1, PhpStorm 2019. 4. 2, PSR-12, обзор RFC предложений из PHP Internals, новости с Laracon US, подкасты, порция полезных инструментов, и многое другое.

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

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

  • PHP 7.4.0 beta 1 — С первым бета-релизом заканчивается фаза активной разработки, а значит список новых возможностей и изменений в ветке 7.4 можно считать финальным. (За исключением short tags). Следующая бета ожидается 8 августа.
  • habrPhpStorm 2019.2 — Типизированные свойства PHP 7.4, поиск дубликатов, подсветка и проверка регулярных выражений, EditorConfig, Shell-скрипты и многое другое.
  • Стартовало голосование по PSR-12, расширенному стандарту стиля кодирования, который должен прийти на смену PSR-2.
  • PHP Meetup в Москве (офис SkyEng), 22 августа 2019 — habrАнонс митапа, плавно переходящего в BeerPHP дринкап (в Москве и онлайне)
  • habrLet's play a little game with Lamoda — 16 августа в московском офисе Lamoda пройдёт PHP Quest. Чтобы поучаствовать, необходимо до 5 августа заполнить анкету и решить головоломку.
  • PHP fwdays’20 – Сall for papers — Стартовал приём заявок на доклады на конференцию PHP fwdays’20, которая пройдёт 30 мая 2020 в Киеве.

PHP Internals

  • [RFC] Deprecations for PHP 7.4 — Все пункты из предложения преодолели порог на голосовании и будут объявлены устаревшими в PHP 7.4.
  • [RFC] Escape PDO "?" parameter placeholder — Предложение экранировать символ? в PDO принято и смержено в PHP 7.4.
  • [RFC] Explicit call-site pass-by-reference — Старое предложение от Никиты снова на обсуждении. На данный момент тот факт, что функция принимает аргумент по ссылке обозначается только в определении самой функции:

    function byRef(&$ref)
    byRef($var);

    Предлагается сделать возможным явное указание передачи по ссылке. Тем самым предупреждая разработчика о том, что переданная переменная изменится:

    function byRef(&$ref) {...}
    byRef(&$var);

  • [RFC] Namespace-scoped declares — Ещё один старый RFC поднят на обсуждение. Изначально предлагалось сделать возможным установку директив интерпретатора для целых пространств имён, вместо обявления declare(); в каждом файле. Это может быть удобно, особенно если будут приняты strict_operators.

    Скрытый текст

    namespace_declare('Vendor\Lib', [ 'strict_types' => 1, 'strict_operators' => 1, ...
    ]);

    Теперь обсуждается возможность объявления для папок вместо пространств имён – это решает проблемы реализации.

  • [RFC] Deprecate PHP Short open tags v2 — В оригинальном предложении рассматривалась идея убрать возможность использования коротких тегов <?. Однако уже после того, как оно было принято, посыпались возмущения и споры. Данный RFC предлагает более мягкий путь: если в php.ini включёна опция short_open_tag, то при первом использовании <? будет брошен Notice. Несмотря на то что PHP 7.4 уже в бете, в случае принятия, реализация будет вмержена с разрешения релиз-менеджеров.

Инструменты

  • krakjoe/tombs — Расширение для поиска «мёртвого» кода. Подключаете на продакшене не опасаясь проблем с производительностью, ждёте день/неделю/месяц, затем смотрите статистику и видите, какие функции/методы ни разу не выполнялись. Подробнее в посте автора.
  • krakjoe/stat — Ещё один крутой концепт от Joe Watkins. Расширение для профайлинга PHP-приложений на продакшене. Отдаёт информацию в параллельном потоке выполнения без накладных расходов по производительности. Подробнее в посте.
  • jeremeamia/iter8 — Итерация и трансформация массивов с помощью генераторов. Альтернатива классике от Никиты Попова: Nikic/Iter.
  • cpliakas/git-wrapper — PHP-оболочка для работы с Git.
  • exussum12/coverageChecker — Инструмент позволяет инкрементально внедрять хорошие практики. По сути, baseline для других инструментов. Например, можно требовать 90% покрытия тестами, но не для всего кода, я для того, который был добавлен в коммите.

Symfony

Laravel

  • videoВыступление Тейлора на Laracon US:
    • Laravel 6 выйдет в августе
    • Фреймворк перейдёт на Semver (компоненты уже)
    • Новый брендинг

    • Представлен Laravel Vapor — Платный сервис для развёртывания Laravel-приложений в инфраструктуре AWS: Lambda, RDS, CloudFront, S3, CloudWatch. Работает на кастомном рантайме (не SAM или Serverless.com). Описываете yaml, деплоите с помощью консольной утилиты, настраиваете и мониторите в веб-интерфейсе или CLI.
    • Конспект доклада
  • Что такое AWS Lambda и как Laravel Vapor его использует.
  • calebporzio/livewire — Фронтенд фреймворк для Laravel, который позволяет делать биндинги из Blade к PHP-классам и не писать дополнительного JS-кода. (Как работает под капотом не понял. Похоже, используется turbolinks. Поправьте, пожалуйста, кто смотрел).
  • orchestral/testbench — Пакет для упрощения тестирования при разработке собственных пакетов для Laravel.
  • Рекомендации о том, как ускорить написание тестов для Laravel-приложений.
  • habrLaravel Event Projector и концепция порождения событий.

Yii

Async PHP

Serverless

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

Аудио/Видео

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

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

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

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

Теги
Показать больше

Похожие статьи

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

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

Кнопка «Наверх»
Закрыть