PHP-Дайджест № 152 (11 – 25 марта 2019)

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

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

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



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


  • PHP Russia 2019 – Москва, 17 мая — Прием заявок на доклады подходит к концу и уже есть несколько подтвержденных докладчиков! Прежде всего это топ контрибьюторы PHP-ядра Никита Попов и Дмитрий Стогов, также автор spiral/roadrunner Антон Титов, автор библиотеки PHP-ML для машинного обучения на PHP Arkadiusz Kondas и другие.
  • PHP fwdays'19 – Киев, 1 июня — На конференции в Киеве также намечается интересная программа и уже заявлен создатель Symfony Fabien Potencier.
    Для читателей PHP-Дайджеста скидка 15% по промокоду: PHP-digest-fwdays.
  • Enrico Zimuel присоединился к команде Elastic — После 11 лет работы в Zend, Enrico переходит в Elastic, где будет ответственным за библиотеки PHP для Elasticsearch. Прислал @dmitrybalabka. Интересна дальнейшая судьба других участников команды Zend, которые заявили об уходе из Rogue Wave еще в октябре.

PHP Internals


  • [RFC] New custom object serialization mechanism — Предложение принято. В PHP 7.4 реализован новый механизм сериализации объектов и добавлено два магических метода:
    Скрытый текст
    // Returns array containing all the necessary state of the object.
    public function __serialize(): array;
     
    // Restores the object state from the given data array.
    public function __unserialize(array $data): void;
    
  • [RFC] JIT — В JIT для PHP реализована поддержка Windows и ZTS. Последнее значит, что можно использовать в многопоточных приложениях. По предложению уже стартовало голосование, судя по ходу которого, вероятно, оно будет принято для PHP 8.0, но идея включить в PHP 7.4 не получит достаточной поддержки.
    В тему также пост с бенчмарками Redis-сервера на PHP clue/php-redis-server, где автор получил прирост ~4-23% на версии с JIT.
  • [RFC] Arrow Functions 2.0 — Третья попытка реализовать короткие лямбды в PHP. На этот раз предлагается синтаксис
    $y = 1;
    $fn1 = fn($x) => $x + $y;
    

    При этом переменные из внешнего скоупа биндятся по значению автоматически и не надо использовать use().
    В Internals также обсуждаются альтернативные варианты синтаксиса:
    ($x) ==> $x + $y;
    

    \($x) => $x + $y;
    
  • [RFC] Generator comprehensions — Концепт оформлен в полноценное предложение о реализации спискового включения (list comprehension). По сравнению с концептом, как и в коротких лямбдах, нет необходимости использовать use():
    Скрытый текст
    $y = 3;
    $gen = [for $list as $x if $x % 2 yield $x * $y];
    
  • [RFC] Deprecate curly braces array access — На данный момент для доступа к элементам массивов и строк можно использовать как квадратные, так и фигурные скобки. И хотя они эквивалентны, фигурные скобки все-таки не работают, например, для добавления элемента в массив “$arr{} = 1;” или объявления массива “$a={1,2};” . Предлагается задпрекейтить фигурные скобки в данном контексте и оставить только квадратные. А вы используете фигурные скобки?
  • video Подкаст PHP Internals News Episode 2: PHP Compiler and FFI — Anthony Ferrara в гостях у Derick Rethans.
  • Объявлены релиз-менеджеры PHP 7.4 — Ими стали Peter Kokot and Derick Rethans.

Инструменты


  • API Platform 2.4 — Под капотом MongoDB, Elasticsearch, Mercure, OpenAPI v3, CQRS, HTTP/2 Push.
  • Roave/no-leaks — Плагин для PHPUnit, который поможет обнаружить утечки памяти в приложении и тестах.
  • Roave/Dont — Трейты, которые блокируют использование некоторых магических методов.
  • bobthecow/psysh — Отличная реализация интерактивного режима для PHP. В поддержку свежий пост о том, ruчто такое REPL и Exploratory development.
  • spatie/async — Обертка над PCNTL для простого выполнения параллельных задач. В качестве альтернативы есть еще ackintosh/snidel.
  • King2500/doctrine-phpstorm-meta — Пакет улучшает автодополнение для Doctrine в PhpStorm 2019.1 благодаря .phpstorm.meta.php.
  • biganfa/php2curl — Библиотека позволяет быстро трансформировать текущий контекст ($_REQUEST, $_SERVER, и т.д.) в строку запроса cURL. Прислал catanfa.

Symfony


  • habrvideo Философия RAD и Enterprise фреймворков
  • Неделя Symfony #638 (18-24 марта 2019)

Laravel


  • spatie/laravel-personal-data-export — Пакет поможет пользователю экспортировать свои персональные данные в виде архива.
  • aldemeery/sieve — Простая и элегантная фильтрация для моделей Eloquent.
  • Деплоим Laravel в Kubernetes
  • Об использовании представлений (view) MySQL с Eloquent
  • Миграция легаси веб-приложений на Laravel
  • habrvideo Пожалуйста, прекращайте говорить про шаблон Репозиторий с Eloquent

Yii


  • cebe/yii2-openapi — Генератор REST API приложения для Yii2 на основе OpenAPI 3.0 спецификации.
  • ruvideo Интервью на Hexlet с Александром Макаровым, core developer в Yii framework

Безопасность


  • CSRF уязвимость в WordPress 5.1 — Анализ и разбор уязвимости, которая ведет к удаленному исполнению кода и исправлена в WordPress 5.1.1.
  • Unique Rule SQL Injection Warning — Возможна SQL-инъекция в Laravel при использовании валидации Rule::unique().
  • yet another phar deserialization in TCPDF — Анализ уязвимости в популярном пакете tecnickcom/tcpdf.

Async PHP


  • clue/reactphp-redis v2.3.0 — Асинхронный клиент Redis на базе ReactPHP. В обновлении улучшена поддержка PubSub и добавлены ленивые соединения. Подробнее в блогпосте.
  • xtrime-ru/TelegramRSS — Инструмент на базе Swoole конвертирует ленту постов из Telegram в RSS -фид или JSON. В поддержку хабрапост о реализации habr микросервисов на PHP и Swoole.
  • video Быстрый веб-скрапинг на ReactPHP #4: Используем прокси

CMS


  • В WordPress наконец-то отказались от поддержки PHP 5.2 и повысили минимальную версию до 5.6. А к декабрю обещали повысить требования до PHP 7. По официальной статистике версиями 5.2-5.5 все еще пользуется 20% пользователей WP. При этом согласно данным W3Techs доля WordPress выросла на 3% за год и теперь его используют 33.4% из 10 млн топ-сайтов интернета.
  • В WordPress 5.2 будет добавлена библиотека sodium_compat и система подписи обновлений на основе Ed25519. Это обезопасит систему автоматических обновлений.
  • В Drupal из коробки добавлена поддержка JSON:API

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


  • Использование архитектуры серверлесс на PHP на примере PrettyCI и очередей Laravel
  • habr Как мы сделали PHP 7 в два раза быстрее PHP 5
  • habr Debug Oriented Programming или печаль в глазах Интегратора
  • habr Монолит для сотен версий клиентов: как мы пишем и поддерживаем тесты
  • habrvideo Видео с Badoo PHP Meetup #2: о тестах и качестве кода
  • video Видеозаписи докладов с PHP UK 2019


Занимательное


  • ircmaxell/php-compiler — Давно заброшенная идея компилятора для PHP от Anthony Ferrara получила реинкарнацию благодаря FFI в PHP 7.4. Теоретически, компилятор способен генерировать нативный машинный код и выдавать бинарник исполняемый без виртуальной машины PHP. На практике, это пока только концепт, который поддерживает всего ничего, но идея интересная.

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

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

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

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

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

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

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

Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.
Подробный анализ правок в OpenStreetMap в Северной Корее 1 | style Mapbox – data OpenstreetMap contributors Картографирование На MapRoulette появилась новая задача: проверить до сих пор...
На сегодняшний день у сервиса «Битрикс24» нет сотен гигабит трафика, нет огромного парка серверов (хотя и существующих, конечно, немало). Но для многих клиентов он является основным инструментом ...
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.
Автокэширование в 1с-Битрикс — хорошо развитая и довольно сложная система, позволяющая в разы уменьшить число обращений к базе данных и ускорить выполнение страниц.