PHP-Дайджест № 100 – интересные новости, материалы и инструменты (1 – 15 января 2017)

51af30051611417f82f63c4b70984d32.jpg

Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!

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


  • habrУязвимости выполнения произвольного кода в PHPMailer и SwiftMailer
  • PSR-16: Simple Cache — Принят стандарт интерфейса простого кэша.
  • Composer 1.3 — Прислал im_special_one.
  • Twig 2.0
  • Инициирован форк PrestaShop
  • Стандарт цикла событий (event loop) для PHP — Спецификация разработана в рамках инициативы группы PHP Asynchronous Interoperability Group и достигла стабильной версии.

c9ee7880391644e4aef6cc28ca681ab0.png PHP


  • RFC: Parameter Type Widening — Предлагается сделать возможным изменение (отмену) типа аргумента в методах наследников:

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


  • edamov/pushok — Библиотека для отправки push-уведомлений на iOS с поддержкой новых фич (collapse IDs, subtitles, JWT auth, HTTP\2). Прислал edamov.
  • ReflectPHP — Инструмент позволяет запускать исходный код PHP более старших версий на интерпретаторе более младших версий. Прислал serafimarts.
  • FluentDOM/FluentDOM — Обертка над DOMDocument, реализующая текучий интерфейс а-ля jQuery. Пост в поддержку.
  • paragonie/sodium_compat — Экспериментальный полифил для Libsodium на чистом PHP. Пост в поддержку.
  • aidantwoods/SecureHeaders — Класс для упрощения работы с HTTP-заголовками связанными с безопасностью. Подробный пост по теме от автора.
    Альтернативное решение BePsvPT/secure-headers.
  • thephpleague/uri-parser — Парсер URI для PHP 7. Исправляет недостатки parse_url и совместим со стандартом RFC 3986. Пост в поддержку.
  • geekish/crap — Позволяет устанавливать псевдонимы для часто используемых composer пакетов.
  • fruux/sabre-cache — Библиотека для кэширования, реализован стандарт PSR-16.
  • symfony/dotenv — Symfony-компонент для чтения .env файлов.
  • zelenin/http-client — PSR-7-совместимый http-клиент с поддержкой middleware. Прислал zelenin.
  • wapmorgan/Mp3Info — Библиотека для чтения тегов и метаинформации из mp3.
  • wapmorgan/UnifiedArchive — Библиотека для унифицированного доступа к архивам различных форматов. Также в виде утилиты командной строки — wapmorgan/CAM.

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


  • Symfony
    • habrLexikFormFilterBundle, создаем фильтрующие формы еще быстрее
    • Symfony 2016 — итоги года
    • Статистика контрибьюторов Symfony
    • Неделя Symfony #522 (26 декабря 2016 — 1 января 2017)
    • Неделя Symfony #523 (2–8 января 2017)
    • Неделя Symfony #524 (9–15 января 2017)

  • Yii
    • Разработка на Yii2: использование отладочной панели
    • Разработка на Yii2: хелперы
    • Плагин Yii 2 для IntelliJ IDEA (PhpStorm)
    • 2amigos/yii2-usuario — Гибкое расширение Yii 2 для управления пользователями.

  • Laravel
    • habrLaravel Dusk уже близко
    • garveen/laravoole — Инструмент для запуска Laravel на асинхронных фреймворках Swoole или Workerman.

  • phpstorm.tips — Трюки и подсказки по PhpStorm в гифках.
  • Как PHP исполняет код
  • Самодельные уведомления для Twitter и Gmail с помощью PHP и Arduino
  • Избавляемся от статических вызовов
  • Мультиязычное приложение на PHP и Gettext
  • Закончилась поддержка PHP 5. Что дальше?
  • Флаги фич (Feature Flags) в PHP
  • Хороший пример использования RabbitMQ в PHP
  • Бенчмарк популярных DI-контейнеров
  • ruПолное руководство по загрузке изображений на PHP — Прислал Александр Денисюк.
  • habrDrupal и WordPress — сравнение, аналогии, сходства, различия
  • habrПакет-географ: готов к работе
  • habrОбнаружение в коде дефекта «разыменование нулевого указателя»
  • habrХранение php-сессий в Redis с блокировками
  • habrPHPixie Cache: PSR-6, PSR-16 и несколько интересных фич
  • habrПлатформа для быстрого создания RESTful API
  • habrГоризонтальное масштабирование. Что, зачем, когда и как?
  • Основы безопасности веб-приложений

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


  • videoXdebug в Docker контейнерах
  • videoPHPCon Poland 2016 — Видеозаписи докладов.
  • videoPHP Town Hall Podcast #50: Low down on PSR-15 — O middleware в PHP.
  • videoПодкаст PHP Roundtable 058: HTTPlug, Guzzle & API’s
  • videoruPHP подкаст #14

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


  • Сравнение метрик кода популярных фреймворков: Laravel, Zend, Symfony, Cake, Slim
  • Простой бенчмарк Laravel, Symfony, Zend
  • Что сообщество думает о PHP в 2017
  • The Zend Blog: Статус PHP в 2017
  • PHP код, который выводит буквенно-цифровые символы не используя ни один из них:
    .<:'^'__@[_')('>'^@_,'%'^@_)),$__($_('|'^'=','|'^'&')),$__($_(':'^"\n",';'^']'^@_));
    

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

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

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

Комментарии (1)

  • 16 января 2017 в 00:34

    0

    > RFC: Parameter Type Widening

    Какой кошмар. А как же принцил Лисков?

© Habrahabr.ru