PHP-Дайджест № 158 (3 – 17 июня 2019)

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

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4.0 alpha 1, DevConfX, принятые и новые RFC из PHP Internals, порция полезных инструментов, и многое другое.

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



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


  • PHP 7.4.0 alpha 1 — Вышла первая альфа-версия новой ветки PHP! Впереди полугодовой цикл тестирования, финальный выпуск ожидается в конце ноября.

    Количество новых возможностей впечатляет: типизированные свойства, habr стрелочные функции, FFI, предзагрузка и много другого! Список всех изменений в документе UPGRADING.
    Обзор новых фич можно посмотреть в хабрапереводе habr Новое в PHP 7.4 или в video докладе Никиты Попова на PHP Russia.
  • DevConf 2019 (Москва, 21 июня) — Юбилейный десятый DevConf. По традиции доклады отбираются голосованием. Обзор поданных заявок слушайте в подкасте Пятиминутка PHP №54.

PHP Internals


  • [RFC] Allow throwing exceptions from __toString() — Предложение принято единогласно.
  • [RFC] Numeric Literal Separator — Предложение преодолело порог на голосовании, и значит в PHP 7.4 можно будет использовать символ подчёркивания в качестве разделителя в числах:

    $i = 197_823_459; // 197823459
  • [RFC] Nullsafe Calls — Старое предложение снова обсуждается в Internals. В нём рассматривается возможность добавления нового оператора ?->, который бы позволил делать безопасные цепочки вызовов методов, в случае когда возвращаемое значение может быть null:

    $o?->mayFail1()?->mayFail2()?->mayFail3()?->mayFail4();

    Подобное предложение есть и в ECMAScript, а в Hack данная возможность уже реализована.
  • [RFC] Alternative «use» syntax for Closures — Автор предложения считает синтаксис use в замыканиях не очень удобным и предлагает перенести его в тело функции:

    Скрытый текст
    // Так сейчас
    $closure = function (
        ArgumentType $argument1,
        ArgumentType $argument2,
        ArgumentType $argument3,
        ArgumentType $argument4
    ) use ($importVariable1, &$importVariable2, $importVariable3, &$importVariable4): ReturnType {
        // ...
    };
    
    // Предлагается вот так
    $closure = function (
        ArgumentType $argument1,
        ArgumentType $argument2,
        ArgumentType $argument3,
        ArgumentType $argument4
    ): ReturnType {
        use $importVariable1, &$importVariable2;
        use $importVariable3, &$importVariable4;
    
        // ...
    };
    
  • audio PHP Internals News #13 — Sara Goleman (релиз мнеджер PHP 7.2) и Derick Rethans (PHP 7.4) общаются на тему менеджмента релизов.
  • audio PHP Internals News #14 — С Никитой Поповым об исключениях в __toString().

Инструменты


  • badoo/liveprof — Инструмент мониторинга производительности приложений. На Хабре о нём был пост и можно посмотреть демо.
  • BrainMaestro/composer-git-hooks — Управление Git-хуками из сomposer.json.
  • hirak/prestissimo — Плагин Composer для параллельного скачивания пакетов. Значительно ускоряет установку зависимостей.
  • ronanguilloux/IsoCodes — Библиотека для валидации различных стандартных кодов: почтовые индексы (zip) всех стран, телефонные номера, кредитные карты, национальные идентификационные коды и другие.
  • zetrider/BotAuth — Аутентификация при помощи ботов в соцсетях. habr Пост в поддержку.

Symfony


  • Неделя Symfony #650 (10-16 июня 2019)
  • habr Symfony CLI — новый инструмент для локальной разработки

Laravel


  • illuminatech/config — Переносит конфиги Laravel в БД.
  • pipe-dream/laravel — Позволяет описать сущности в текстовом файлике и на основе него сгенерировать скелет приложения. video Видеобзор.
  • spatie/laravel-webhook-server, spatie/laravel-webhook-client — Пара простых пакетов для быстрого старта с вебхуками.
  • Анализ сервис-контейнера Laravel от Matthias Noback, эксперта Zend/Symfony.
  • ru Рефакторинг в Actions
  • ru 40 дополнительных правил валидации для Laravel
  • video Core-разработчик Laravel Dries Vints показывает как он мейнтейнит Laravel.

Yii


  • habr Интервью с Александром Макаровым, Yii core team
  • habr Используем Yii2. Пишем очередную CMS или попытка значительно ускорить разработку при минимальных накладных расходах

Security


  • MyBB <= 1.8.20: From Stored XSS to RCE — Анализ двух критических уязвимостей, которые позволяли захватить контроль над форумом.
  • habr Критическая уязвимость в WordPress admin-ajax.php

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


  • Дженерики в PHP — Что это такое и для чего они нужны + обзор реализаций в Psalm/Phan.
  • Всегда актуальный вопрос: Почему операции с float не точные и что с этим делать в PHP — 0.1 + 0.2 === 0.30000000000000004
  • Нюансы и особенности работы isset()
  • Как замокать финальные классы — В посте автор рекомендует dg/bypass-finals.
  • О том что такое Явная архитектура (Explicit architecture) — В качестве примера автор отрефакторил демоприложение Symfony hgraca/explicit-architecture-php.
  • О тестах и типах
  • habr Курсоры БД в Doctrine
  • habr PHP в 2019: лучше, чем вы о нём думаете
  • videoru PHP Мeetup #27, Минск
  • videoru Лучшие доклады PHP Russia 2019

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

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

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

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

Источник: https://habr.com/ru/post/456332/


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

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

Свежая подборка со ссылками на новости и материалы. В выпуске: Последний релиз-кандидат PHP 8.0 перед финальным релизом и свежие материалы по PHP 8, RFC и обсуждения из PHP Internals, п...
Компании переполнили рынок товаров и услуг предложениями. Разнообразие наблюдается не только в офлайне, но и в интернете. Достаточно вбить в поисковик любой запрос, чтобы получить подтверждение насыще...
От скорости сайта зависит многое: количество отказов, брошенных корзин. Согласно исследованию Google, большинство посетителей не ждёт загрузки больше 3 секунд и уходит к конкурентам. Бывает, что сайт ...
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.
Практически все коммерческие интернет-ресурсы создаются на уникальных платформах соответствующего типа. Среди них наибольшее распространение получил Битрикс24.