Свежая подборка со ссылками на новости и материалы. В выпуске: обновления всех веток PHP, Deployer 6.4, doctrine/migrations 2.0, Psalm 3 и другие релизы, Никита Попов в JetBrains, новости PHP Internals, порция полезных инструментов, видео, и многое другое.
Приятного чтения!
Новости и релизы
- Никита Попов присоединился к команде PhpStorm в JetBrains — Никита хорошо известен в сообществе как вкладом в ядро, так и юзерленд библиотеками. Никита доставил в PHP такие фичи, как генераторы, AST, исключения вместо ошибок, единый синтаксис переменных, функции с переменным числом параметров, распаковка аргументов, библиотеки PHPParser и FastRoute, а также много другого. В JetBrains Никита продолжит заниматься разработкой PHP.
- PHP 5.6.40 — Обновление с исправлениями безопасности. И хотя ветка 5.6 уже официально не поддерживается, тем не менее если будут обнаружены критичные проблемы безопасности, команда все-таки еще выпустит исправления.
- PHP 7.3.1
- PHP 7.2.14
- PHP 7.1.26
- PHP fwdays'19 — Седьмой год подряд, 1 июня в Киеве состоится самая большая PHP-конференция Украины. В этом году планируется 800 участников, 3 потока практических докладов, уголок ораторов, афтерпати. Специально для читателей PHP-Дайджеста скидка 15% по промо коду: PHP-digest-fwdays.
PHP Internals
- [PHP] FFI — Несмотря на опасения по поводу безопасности и стабильности, голосование по FFI прошло успешно и предложение принято. А значит FFI будет доставлен в следующем мажорном релизе.
- [RFC] mb_str_split — Предлагается в mbstring добавить функцию для разделения многобайтовой строки на равные подстроки.
- [RFC] Typed Properties 2.0 — Никита объявил, что типизированные свойства закончены и смержены, а также рекомендовал побольше экспериментировать, чтобы найти проблемы на ранних этапах. Rasmus Schultz в своем посте рассматривает возможные проблемы дизайна при использовании типизированных свойств.
Инструменты
- Deployer 6.4.0
- vimeo/psalm — Мощный статический анализатор от Vimeo. В версии 3 добавлен Language Server и поддержка фиксации начального состояния (baseline). Подробнее в анонсе.
- doctrine/migrations 2.0
- php-censor 1.0.0 — CI-сервер на PHP.
- ankitpokhrel/tus-php v1.0 — Реализация сервера и клиента tus.io открытого протокола возобновляемых загрузок файлов. Протокол используется в Vimeo, Cloudflare, и Git LFS.
- mtownsend5512/read-time — Библиотека поможет показать время на прочтение указанного текста.
- Roave/no-floaters — Плагин для PHPStan, который запрещает использование
float
. - sunrise-php/http-header-kit — Хелперы для установки различных HTTP-заголовков в PSR-7. Прислал fenric.
- krakjoe/mimus — Легковесная реализация моков.
- formapro/telegram-bot-php — Простая библиотека без ничего лишнего для создания Telegram-ботов.
Symfony
- Неделя Symfony #628 (7-13 января 2019)
- Неделя Symfony #627 (31 декабря 2018 — 6 января 2019)
- Видео с SymfonyLive London 2018
Yii
Laravel
- spatie/laravel-honeypot — Небольшой пакет для защиты форм от спама.
- RJAPI/api-generator — Генератор приложения Laravel на основе спеки OpenAPI. Прислал ArthurKushman.
- Laracon Online 2019
- Видео докладов с Laracon Online 2018
- Laravel Snippet #1 — Новый еженедельный подкаст от Тейлора о том, что произошло с Laravel за неделю.
- blog.laravel.com — На сайте Laravel теперь есть блог на базе writingink/wink вместо Medium.
- Как обрабатывается HTTP-запрос в Laravel
- Советы и лучшие практики по Laravel 5.7
- За что я ненавижу Eloquent ORM
- Снова про Laravel Nova, и сравнение с Sharp
Безопасность
- XSS уязвимость в league/commonmark
- Обзор планов Paragon Initiative на 2019
- Exploit PHP Remotely — WAF Rule & Filter Bypass
Async PHP
- reactphp/socket — Асинхронный TCP/IP сокет для ReactPHP. В свежем релизе v1.2.0 добавлена поддержка TLS 1.3.
CMS
- Друпал-дайджест – 2018/декабрь
- Месяц WordPress: Декабрь 2018
- Rarst/laps — Простой юзерленд профайлер для WordPress.
Материалы для обучения
- Что нас ждёт в PHP 7.4 — Прислал berezuev.
- Советы по ускорению тестов PHPUnit
- Пишем serverless Hello World на PHP для AWS Lambda с использованием serverless.com.
- Как ускорить ревью кода
- Антипаттерны именования — Также в тему советы по именованию от samdark.
- Семантическое версионирование в примерах
- phpapprentice.com — Онлайн-книга для изучения основ PHP.
- Используем аннотации в PHP по максимуму
- Немного о лексическом анализе
- Кое-что о пространстве имён
- RoadRunner: PHP не создан, чтобы умирать, или Golang спешит на помощь
Аудио и видео
- Beachcasts Tech Videos — Стримы и видеотуториалы от Adam Culp.
- Astrocasts — Еще один источник качественных стримов по PHP, на этот раз от Beau Simensen.
Короткая аудиоверсия дайджеста в подкасте Пятиминутка PHP Выпуск №46
Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
Вопросы и предложения пишите на почту или в твиттер.
Больше новостей и комментариев в Telegram-канале PHP Digest.
Прислать ссылку
Поиск ссылок по всем дайджестам
< Предыдущий выпуск: PHP-Дайджест № 146
Комментарии (8)
Gemorroj
14.01.2019 12:54думал уже что
ffi
не примут, судя по обсуждению в интерналс.
а где раньше трудоустроен Никита Попов был, есть информация?Irker
14.01.2019 17:13Учитывая, что в Zend многие работали на удаленке, то вполне возможно за участие в разработке phpng он что-нибудь от них получал. Но судя по его странице, он не ассоциировал себя как их работник, в отличии от того же Димы Стогова.
А вот тут кстати причины, по которым и другие zend разработчики возможно искали/ищут работу: zsuraski.blogspot.com/2018/10/the-future-of-zend-engine-and-zend.htmlGemorroj
14.01.2019 17:16Я тоже вот подумал, уж не из Rogue Wave software они так уходят?
А может вообще JetBrains их всех под крыло возьмет?)
SamDark
14.01.2019 13:39XSS уязвимость в league/commonmark
Бредово выглядит. markdown по определению позволяет использовать любой HTML.
garex
Чуваки усераются по стандартам, вместо того, чтобы реальные баги фиксить… Рука-лицо.
Напр.: https://github.com/doctrine/dbal/issues/1110
Под постгресом в миграциях всегда добавляется "create schema public".
molchanoviv
А сам что не починишь? Я когда пользовался постгресом периодически отправлял в доктрину патчи и не ждал что кто-то за меня починит, сам лез и разбирался что не так.
garex
Пул-реквест был скинут кучу лет назад, но в связи с занятостью ревьюеров завис, а потом мне стало уже не до этого. Проблема не в том, что я для себя что-то починить не могу — уже давно починил. Я — сторонник опен-сорса и решения проблем в корне. Но в данном баге корень глубоко в жопе доктрины. Проктолог нужен.
Молодец. Я нашёл только один и то в ОРМе — https://github.com/doctrine/orm/pulls?utf8=%E2%9C%93&q=author%3Amolchanoviv
Там же проблема уровнем ниже — в DBAL'е.