PHP-Дайджест № 118 – свежие новости, материалы и инструменты (24 сентября – 9 октября 2017)

59da97a67fd20175097820.jpeg


Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.2.0 RC 3 и другие релизы, 5 лет дайджесту, предложения из PHP Internals, свежая книга по асинхронному PHP, новое расширение-профайлер, и многое другое.
Приятного чтения!



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


  • PHP 7.2.0 RC3 — Очередной релиз-кандидат доставлен по расписанию. Свежий обзор о том, что нового в PHP 7.2.
  • PHP 7.0.24
  • PHP 7.1.10
  • PHP 7.1 доступен на Google App Engine
  • PostgreSQL 10
  • Hacktoberfest 2017 — DigitalOcean совместно с GitHub анонсировали кампанию поддержки открытых проектов. Каждый, кто зарегистрируется и сделает 4 пул-реквеста до 31 октября получит футболку. Если вы желаете поучаствовать, но не знаете с чего начать, взгляните на issues помеченные меткой: #hacktoberfest.
  • Symfony Moscow Meetup #13 — 17 октября, Москва, встреча PHP/Symfony разработчиков.


c9ee7880391644e4aef6cc28ca681ab0.png PHP Internals


  • [RFC] Allow a trailing comma in function calls — Предлагается разрешить использовать запятую в конце списка аргументов функций:
    var_dump(
        $whatIsInThere,
        $probablyABugInThisOne,
        $oneMoreToCheck,
    );
    
  • Еще не вышел PHP 7.2, а уже идет полным ходом работа над следующими версиям. Например, в 7.3 реализована оптимизация sparse conditional constant propagation. Это позволяет интерпретатору упростить вот такую функцию:
    Class C {
        public $i;
    }
    
    function fn(int $x) {
        $c = new C;
        $c->i = 1;
        if ($x) {
            $a = [1, 2, 3];
        } else {
            $a = [3, 2, 1];
        }
        return $a[$c-i];
        $c->i++;
        return $x;
    }
    

    до вот такой:
    function fn(int $x) {
        return 2;
    }
    

    Ждем новостей о JIT, над которым также ведется работа.


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


  • jenssegers/date — Библиотека на базе Carbon для работы с датами и поддержкой мультиязычности. Прислал denisyukphp.
  • json-api-php/json-api — Библиотека описывает бизнес-правила JSON API на языке доменной логики. Прислал f3ath.
  • codeception/codeception-progress-reporter — Прогресс-бар для Codeception. Прислал fr05t1k.
  • hybridauth/hybridauth — Одна из самых популярных библиотек для аутентификации с помощью соцсетей.
  • Bit-Wasp/bitcoin-php — Реализация протокола Bitcoin на PHP.
  • Webiny — Интересная CMS с бэкендом на PHP и ReactJS на фронтенде.
  • nbs-system/snuffleupagus — Расширение для PHP 7+, призванное повысить безопасность исключив на корню некоторые классы ошибок.
  • NoiseByNorthwest/php-spx — Простой, но весьма интересный профайлер в виде расширения. Может стать годной альтернативой XDebug и XHProf.


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


  • 96b65e92179a40f2bd1884549973ddd5.png Symfony
    • Развертывание Symfony API — CircleCI, Docker, AWS.
    • habrSonata Import Bundle
    • habrSymfony + RabbitMQ Быстрый старт для молодых
    • Symfony 3.4 и 4.0 переходят в «feature freeze» — Стартует стадия стабилизации, а релизы ожидаются уже в конце ноября.
    • Неделя Symfony #561 (25 сентбря — 1 октября 2017)
    • Неделя Symfony #562 (2–8 октября 2017)

  • 569de4298b764a33894aa517e74324f9.png Yii
    • Yii development notes #14

  • 314bd0f0dfc54e3fa7f0c0daef1a2d25.png Laravel
    • nicolaslopezj/searchable — Трейт для простого поиска по моделям Eloquent.
    • appstract/laravel-blade-directives — Подборка директив для Blade.
    • Тестирование Laravel Middleware с помощью HTTP
    • Измеряем все что угодно в Laravel с помощью StatsD
    • Шпаргалка по отношениям в Eloquent

  • 8bead8b690f148298fc7c479f1449eda.png Zend
    • Неделя Zend Framework 2017–09–28

  • Async PHP
    • Event-driven PHP with ReactPHP — Полноценная книга по асинхронному PHP от автора статей по ReactPHP.
    • Разбираемся с тиками в ивент лупе ReactPHP
    • clue/php-redis-react — Асинхронный клиент Redis.
    • clue/php-soap-react — Асинхронный SOAP-клиент.

  • CMS
    • Месяц WordPress: сентябрь 2017
    • Drupal 8.4.0
    • Magento 2.2.0
    • Magento Tech Digest #4 (September 20 — October 9, 2017)

  • Книга «Microservices for everyone» с примерами на PHP
  • Использование Argon2 для паролей в PHP 7.2
  • Подробная история о realpath_cache
  • ruОбработчики запросов вместо контроллеров — Прислал denisyukphp.
  • habrNode.js и переход с PHP на JavaScript
  • habrОпыт внедрения PSR стандартов в одном легаси проекте
  • habrБыстрый пул для php+websocket без прослойки nodejs на основе lua+nginx
  • habrО паттернах проектирования для работы с РСУБД


8dcc236774104f8286a40ceaea553820.png Аудио и видеоматериалы


  • www.phppodcasts.com — Все англоязычные подкасты по PHP на одном сайте.


cc24d9c95c9841988f8299a8b285e6f6.png Занимательное


  • PHP-сообщество отравляет себя и нам надо это остановить
  • Idea of the day: Hide `echo »\033[37;41mF\033[m»;` in a PHPUnit Test suite: troll:

    — Gregoire Pineau (@lyrixx) September 25, 2017


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

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


59da9cb5944de414340164.png Сегодня PHP-Дайджесту исполняется 5 лет! За это время было опубликовано 6203 ссылки. А вот так выглядел самый первый выпуск.
Огромное спасибо всем, кто помогает делать дайджест, тем, кто присылает ссылки и правки, пишет статьи и разрабатывает инструменты, и, конечно же, огромное спасибо вам! Вместе мы делаем PHP-мир лучше!

© Habrahabr.ru