PHP-Дайджест № 122 (11 – 25 декабря 2017)

6e50cd56a97d10fe97780cc50be9513d.gif


Свежая и последняя в этом году подборка со ссылками на новости и материалы. В выпуске: пара свежих предложений из PHP Internals, полезные инструменты, материалы по фреймворкам и асинхронному PHP и другое.
С наступающим Новым годом! Приятного чтения.



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


  • Статистика PHP-репозиториев на GitHub за 2017 год
  • doctrine/orm v2.6.0
  • Phalcon 3.3.0


c9ee7880391644e4aef6cc28ca681ab0.png PHP Internals


  • RFC: Scalar Pseudo-type — Предлагается добавить псевдотип scalar для тайпхинтинга любых скалярных значений:
    function f(scalar $param) {
        echo "{$param}\n";
    }
    
  • RFC: Namespace-scoped declares — Предлагается сделать возможным установку директив интерпретатора для целых пространств имен, а не только для каждого файла. Такая возможность позволит добавлять и гибко использовать другие директивы, контролирующие поведение интерпретатора:
    // bootstrap.php
    namespace_declare('Vendor\Lib', [
        'strict_types' => 1,
        ...
    ]);
    

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


  • atk4/data — ORM, в которой реализована оригинальная модификация паттерна Data Mapper. Подробнее о том, что не так с другими ORM, и чем хороша эта в посте автора.
  • myclabs/DeepCopy — Позволяет создавать глубокие копии объектов.
  • mikeerickson/phpunit-pretty-result-printer — Расширение для PHPUnit выводит результаты в красивом сгруппированном виде:
    oculadgmq7fuikwetx8wovzayvu.png

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


  • 96b65e92179a40f2bd1884549973ddd5.png Symfony
    • Как управлять переводами в Symfony?
    • habrSymfony Flex Private Recipes: создание, настройка и использование
    • Неделя Symfony #572 (11–17 декабря 2017)
    • Неделя Symfony #573 (18–24 декабря 2017)

  • 569de4298b764a33894aa517e74324f9.png Yii
    • ruYii 2.1 и заморозка Yii 2.0
    • Yii development notes #18
    • LUYA 1.0 — Первый релиз мощной CMS.
    • dmirogin/fakemodel — Инструмент для удобной генерации моделей с тестовыми данными. Прислал dmirogin.

  • 314bd0f0dfc54e3fa7f0c0daef1a2d25.png Laravel
    • Отложенные задачи и очереди на Laravel
    • Vanilo — E-commerce фреймворк на базе Laravel.
    • habrРасширение моделей в Eloquent ORM

  • 8bead8b690f148298fc7c479f1449eda.png Zend
    • Zend Expressive 3 Preview
    • Неделя Zend Framework 2017–12–14

  • Async PHP
    • react/http v0.8.0 — Массивное обновление HTTP-сервера на ReactPHP. Поддержка PSR-7, и долгожданная полноценная поддержка загрузки файлов. Последнее позволит в полной мере использовать php-pm для запуска демонизированных приложений.
    • О реализации Middleware для ReactPHP HTTP Server
    • voryx/WebSocketMiddleware — WebSocket Middleware для react/http.
    • amphp/parallel-functions — Набор функций для параллельного исполнения кода на базе компонента amphp/parallel без дополнительных расширений:
      use function Amp\ParallelFunctions\parallelMap;
      use function Amp\Promise\wait;
      
      $responses = wait(parallelMap([
          'https://google.com/',
          'https://github.com/',
          'https://stackoverflow.com/',
      ], function ($url) {
          return file_get_contents($url);
      }));
      

  • Пишем PSR-7 фреймворк: Структура и работа с HTTP, Контроллеры и маршрутизация
  • Бенчмарки AMQP-клиентов для PHP
  • VS Code в качестве редактора PHP
  • habrКак анализировать тональность твитов с помощью машинного обучения на PHP
  • habrКак прочитать большой файл средствами PHP (не грохнув при этом сервак)
  • habrУправление зависимостями в PHP
  • habrРуководство по написанию защищённых PHP-приложений в 2018-м

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


  • Забавные головоломки на PHP
  • symfony/thanks — Поблагодарите авторов библиотек и фреймворков, которыми вы пользуетесь, с помощью этого инструмента:
    ofmsieahoggyr3tagpb0ematoas.png


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

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

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

© Habrahabr.ru