PHP-Дайджест № 125 (29 января – 11 февраля 2018)

f474dd4fbe214af083a32b04038d2022.jpg


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



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


  • PHP 7.2.2
  • PHP 7.1.14
  • Laravel 5.6 — Добавлен nunomaduro/collision в качестве обработчика ошибок консольных команд, а также другие улучшения.
  • Xdebug 2.6 — Добавлена поддержка PHP 7.2, приостановлена поддержка PHP 5, а также несколько новых возможностей.
  • goaop/framework 2.2.0
  • PHPUnit 7
  • Новости PHP FIG #2–4: ноябрь 2017 — январь 2018


c9ee7880391644e4aef6cc28ca681ab0.png PHP Internals


  • [RFC] Fiber — Предлагается реализовать стэкфул-корутины, по сути, замыкания, которые можно ставить на паузу и возобновлять. При этом планирование (scheduling) выполняется на стороне пользователя, а не VM. Данное улучшение упростит написание асинхронных приложений и сделает, при этом выглядящими совсем как синхронные. Уже доступно расширение, и даже примеры использования.
  • [RFC] Deprecation of fallback to root scope — При использовании функций/классов внутри неймспейса, в случае если они не найдены, то будет попытка автоматически откатиться к глобальному скоупу. Предлагается упразднить данную возможность и бросать предупреждение:
    namespace Bar;
    strlen();
    // сначала попытка вызвать \Bar\strlen()
    // если не найдена, то будет вызвана \strlen()
    
    > Undefined function \Bar\strlen(), assumed \strlen()
    
  • [RFC] Deprecate backtick operator — Предлагается задеприкейтить оператор кавычки ``.

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


  • Bogdaan/spycss — habrОтслеживаем действия пользователя с помощью CSS.
  • daniilgrigorovabi/abimodelpattern — habrОперация «Ы» и новая библиотека ABI
  • z7zmey/php-parser — Парсер PHP реализованный на Go.
  • consistence/consistence — Библиотека обещает исправить ошибки консистентности в PHP. Подробнее в посте автора.
  • PHPJuice/slopeone — Реализация алгоритма коллаборативной фильтрации Slope One.
  • calcinai/phpi — Событийная библиотека для работы с Raspberry Pi GPIO.
  • sroze/companienv — Полезный хелпер для работы с .env-файлами.
  • Arrexel/phpbash — Полуинтерактивный PHP-шелл в одном файле.
  • pascaldevink/shortuuid — Библиотека для PHP 7.1+ для генерации коротких UUID для использования в URL.

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


  • 96b65e92179a40f2bd1884549973ddd5.png Symfony
    • Неделя Symfony #579 (29 января — 4 февраля 2018)
    • Неделя Symfony #580 (5–11 февраля 2018)
    • Pull Request #26059 · symfony/symfony — Интересный пул-реквест, который обещает ускорение роутинга до x77.7 раз.

  • 569de4298b764a33894aa517e74324f9.png Yii
    • Vintage-web-production/yii2-search — Компонент для поиска в БД, используя модели Active Record для Yii2. Прислал @greefla.
    • videoruПродвинутый курс по PHP + Yii 2

  • 314bd0f0dfc54e3fa7f0c0daef1a2d25.png Laravel
    • Стайл гайд и лучшие практики для Laravel
    • ruGroupBy по нескольким значениям в Laravel
    • videoPHP Antwerp — Паттерны проектирования Laravel
    • tormjens/eventy — Система хуков и фильтров а-ля WordPress для Laravel.
    • nunomaduro/laravel-console-menu — Красивые консольные меню для Laravel-команд.
    • GeneaLabs/laravel-model-caching — Кэширование моделей Eloquent.

  • Async PHP
    • Асинхронный PHP: Зачем?
    • ReactPHP вместе с RecoilPHP, ч.2, ч.3 — Использование recoilphp/recoil позволяет писать асинхронный код на основе корутин.

  • CMS
    • ruБолее 2000 сайтов под управлением WordPress оказались поражены кейлоггером
    • habrИстория взлома одного WordPress плагина — или о том, как вы допускаете уязвимости в своих проектах
    • habr29% вебсайтов уязвимы для DOS-атаки даже одной машиной (CVE-2018–6389)
    • Руководство по безопасности WordPress
    • Неделя WordPress: январь 2018

  • Тестирование легаси PHP-скриптов
  • Уменьшаем число вызовов функции с помощью DI и передачи контекста
  • Vim в качестве PHP IDE — полное руководство
  • ruБезопасная настройка Composer — Прислал falldi.
  • ruMockery: частичные двойники (mock’и)
  • habrОбновляем расширение Intl в PHP 7 на Linux Ubuntu 16.04
  • habrКак поднять проект на PHP в Docker под Windows
  • habrВаш пакет Composer сломан: обновите идентификатор лицензии
  • habrДружим gRPC с долгоживущим проектом, PHP и фронтендом
  • habrХочу как у YouTube — Об идентификаторах в распределенных системах.
  • habrNumphp — работа с числовыми векторными массивами и матрицами
  • habrОпыт веб-разработки при создании игры «Составь слова»
  • Standards.REST — Коллекция стандартов и спецификаций для разработки API.

8dcc236774104f8286a40ceaea553820.png Аудио и видео


  • videoПодкаст That Podcast #45: Еще раз об PSR-15
  • videoПодкаст Three Devs & A Maybe: О симметричном и асимметричном шифровании со Scott Arciszewski (Paragon IE)
  • videoШифрование, аутентификация и целостность даных в PHP 7

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


  • Ты это не твой фреймворк
  • Arionum — Криптовалюта, реализованная на PHP.


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

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

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

© Habrahabr.ru