Свежая подборка со ссылками на новости и материалы. В выпуске: конференция PHP fwdays'18, объявлены релиз-менеджеры PHP 7.3, предложение из PHP Internals, видеозаписи с прошедших митапов, порция полезных инструментов, и многое другое.
Приятного чтения!
Новости и релизы
- PHP 7.2.5
- PHP 7.1.17
- PHP 7.0.30
- PHP 5.6.36
10 июня уже 6-й год подряд в Киеве пройдет масштабная PHP-конференция PHP fwdays. Программа уже почти сформирована. Среди докладчиков: Derick Rethans (MongoDB, Xdebug), Marco Pivetta Ocramius, Christoph Rumpel, Артем Хвастунов (JetBrains), Tobias Nyholm (Symfony), и другие.
Специально для читателей PHP-Дайджеста доступен промокод fwdays4PHP-digest со скидкой 15%.
PHP Internals
- Объявлены релиз-менеджеры PHP 7.3 — Ими стали Christoph M. Becker и Стас Малышев.
- RFC: Deprecate uniqid() — Предлагается пометить устаревшей функцию
uniqid()
, которая несмотря на название не гарантирует уникальность возвращаемого значения. В PHP 7.3 предлагается бросать Warning, а в PHP 8.0 удалить функцию.
Инструменты
- cytopia/devilbox — Современная замена XAMPP на базе Docker.
- kitech/php-go — Пишем PHP-расширения на Go.
- nahid/jsonq — Query builder для JSON.
- paragonie/ciphersweet — Быcтрое шифрование для PHP-проектов с возможностью поиска по данным.
- php-enqueue/enqueue-dev — Очередь сообщений с поддержкой транспортов AMQP (RabbitMQ, ActiveMQ), STOMP, Amazon SQS, Redis, Doctrine DBAL, Filesystem, а также добавлена поддержка MongoDB.
Материалы для обучения
Symfony
- Symfony 4.1.0-BETA1
- Неделя Symfony #593 (7-13 мая 2018)
- Неделя Symfony #592 (30 апреля — 6 мая 2018)
- DevConf: из шаурмы в Symfony или миграция legacy
Yii
Laravel
- hhxsv5/laravel-s — Запускаем Laravel на базе асинхронного расширения Swoole.
- koselig/koselig — Интеграция WordPress с Laravel.
- Тестирование проектов на Laravel с помощью Codeception
- Запускаем планировщик и очередь Laravel в Docker
- О тестировании событий и обработчиков в Laravel
- Как деплоить Laravel в Kubernetes
- Управление очередями в Laravel
Zend
Async PHP
CMS
- Magento Tech Digest #14: April 30 — May 7, 2018
- Magento Tech Digest #13: April 23 — 30, 2018
- Месяц WordPress: апрель 2018
- Новая критическая уязвимость в Drupal, уже используемая для совершения атак — Скомпрометированные хосты могут использоваться для майнинга.
- Цена и ценность докблоков
- О деструктурирующем присваивании массивов в PHP
- Годный пост о том, что такое юнит-тестирование и как к нему подходить
- Примеры обхода функций экранирования escapeshellarg/escapeshellcmd
- Используем QueryFilter для реализации фильтров поиска
- Что вам необходимо знать об использовании переменных окружения с PHP
- Обзор PSR-2 и других стандартов кодирования для PHP (Symfony, CakePHP, WordPress, FuelPHP)
- Обработка сигналов в PHP, или готовим вкусно
- PHP может стать еще лучше
- Оптимизация бэкенда при переходе на api-based архитектуру
Аудио и видеоматериалы
- Tutu PHP Meetup #1: видео выступлений
- Backend United #1. Винегрет — видео, фотоотчёт, презентации и отзывы слушателей
- Пятиминутка PHP: Выпуск №32 — Artifactory
Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
Вопросы и предложения пишите на почту или в твиттер.
Прислать ссылку
Поиск ссылок по всем дайджестам
< Предыдущий выпуск: PHP-Дайджест № 129
Комментарии (17)
noRoman
14.05.2018 11:56+3Вот за это (kitech/php-go — Пишем PHP-расширения на Go) особенное спасибо!
Есть альтернативы еще? У кого-нибудь опыт написания имеется?
Хотелось бы сразу узнать о грабляхAlxly
14.05.2018 12:44+1Судя по чекбоксам в TODO, к сожалению, данный репозиторий подходит к написанию простых функций или классов. Так как нэймспейсы пока что не имплементированы, то будет довольно сложно написать, скажем, простенькую CMS. Точнее сложно с неймспейсами. Можно попробовать сделать как в старые времени, как в magento 1.x, к примеру.
Но я согласен — огромное спасибо за эту работу и ссылку.Fesor
15.05.2018 14:07то будет довольно сложно написать, скажем, простенькую CMS
мне кажется вы неверно как-то трактуете смысл таких вещей… если вы хотите саму cms написать на go то пишите, но причем тут расширения для php?)
Alxly
16.05.2018 11:15я имел в виду, что возможно написать CMS как расширение для РНР. как, к примеру, phalcon.
Это всё мои абстрактные мысли, На практике, конечно же, сначала надо взвесить целесообразность написания cms как расширения.
Посколько я работаю с magento, то я ищу пути ускорения, скажем, чекаут процесса, так как это одна из ресурсоёмких частей в приложении. Потому-то меня и интересуют такие решения как php-go или php-rs.
И попутно, изучение друго языка, чтобы не застаиваться на одном. :)Fesor
16.05.2018 15:03я имел в виду, что возможно написать CMS как расширение для РНР
Что это вам даст? Ну это к вопросу о целесообразности. Мне кажется что фреймоврк что cms реализованные в виде экстеншена не целесообразны.
Скажем цель phalcon устранить по максимуму оверхэд бутстрапинга фреймворка и ускорить все, в целом с тем же успехом мы можем реализовать application-server по типу php-pm (или аналоги на go, которые уже существуют), который будет делать все то же самое и при этом намного более модульно.
что до cms — мне тут больше нравятся варианты с headless cms на go и фронт на php, что бы опять же модульно, и не надо было ничего писать. Поставить, подключил, готово. Надо что-то кастомное — не трогаешь cms и пишешь рядом.
Alxly
16.05.2018 15:33Надо что-то кастомное — не трогаешь cms и пишешь рядом.
именно это я и предполагаю при написании cms как расширения РНР.
Возможно это не самый удачный вариант, имею в виду cms как пример для расширения. Да я понимаю в чём фишка фалкона, то же можно и сказать про бутсрап cms.
(или аналоги на go, которые уже существуют), который будет делать все то же самое и при этом намного более модульно.
я и не спорю с этим. Лично для меня, штука не в том чтобы не создавать еще один велосипед, а в изучении нового материала.
Что это вам даст? Ну это к вопросу о целесообразности.
Как я уже сказал, поскольку я работаю с РНР, но хочу так же не застрявать на месте, ищу возможности учить новые языки, технологии, но не просто так, а с пользой для дела. То есть мне это даст опыт.
alekciy
15.05.2018 12:35Альтернатива в смысле на Go или альтернатива написания расширений? Если второе, то есть еще Zephir от создателей сишного фрейворка Phalcon.
noRoman
15.05.2018 20:24Альтернатива именно на Go. С/C++ можно сказать не знаю. Узкие места в старых монструозных проектах неплохо было бы отрефакторить.
SoloFeeD
14.05.2018 12:45+1Интересно как себя ведет Swoole в продакшн?
Кто-то уже применял?
Если полет нормальный, то не вижу смысла в ноде)Fesor
14.05.2018 21:40Если полет нормальный, то не вижу смысла в ноде)
ну попробуйте запустить javascript на swoole) Может быть тогда смысл вернется)
В целом swoole хорошо себя ведет в продакшене, вопрос в отладке. Это первое чему вам надо научиться когда вы работаете с подобными решениями. И в этом плане node все еще имеет смысл (хотя зачем если есть go...)
wispoz
14.05.2018 17:47RFC: Deprecate uniqid() — Предлагается пометить устаревшей функцию uniqid(), которая несмотря на название не гарантирует уникальность возвращаемого значения. В PHP 7.3 предлагается бросать Warning, а в PHP 8.0 удалить функцию.
Может проще сделать ее нормально чем помечать ее deprecated, потом пилить полифилы для старых сайтов и так далее?VolCh
14.05.2018 20:23+1Какой-то код может быть завязан на текущее поведение, причём не обязательно PHP-код.
wispoz
14.05.2018 22:17Тогда тем более не понятно, раз есть код который требует такое поведение, можно написать функцию которая будет выдавать правильное рандомное уникальное значение.
VolCh
15.05.2018 17:27Есть (может быть) код, который требует того поведения, которое сейчас есть де-факто. Изменение функции его сломает.
gogolinsky
Спасибо!