Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.2.0 RC5 и другие релизы, предложения из PHP Internals, порция полезных инструментов, и многое другое.
Приятного чтения!
Новости и релизы
- PHP 7.2.0 RC5 — Предпоследний релиз-кандидат из запланированных. Финальный релиз PHP 7.2 ожидается уже 30 ноября. Обзоры нововведений можно найти тут, тут, и тут .
- PHP 5.6.32
- PHP 7.0.25
- PHP 7.1.11
- Symfoniacs SPB Meetup #2 — Datanyze (31 oct 2017) — Встреча PHP/Symfony разработчиков в Санкт-Петербурге.
- MODXpo 2017 — Впервые в Минске 11 и 12 ноября пройдет конференция по MODX.
PHP Internals
- RFC: JSON_THROW_ON_ERROR — Принято предложение для PHP 7.3. Функции
json_encode()
иjson_decode()
будут бросать исключение в случае ошибки и наличия соответствующего флага. - [RFC] Flexible Heredoc and Nowdoc Syntaxes — Улучшения многострочных текстовых блоков. Поддержка отступов, а также отмена необходимости перевода строки после закрывающего маркера.
<?php $values = [<<<EOT a b c EOT, 'd e f'];
Инструменты
- nunomaduro/collision — Whoops для консольных приложений — отображает красивые и информативные отчеты об ошибках.
- itsgoingd/clockwork — Расширение для Chrome, которое добавляет вкладку в dev tools для отладки PHP-приложений.
- Teein/Html — Шаблонизатор на основе идеи виртуального DOM.
- mark-gerarts/automapper-plus — Клон .NET AutoMapper, упрощает перенос данных из объекта в объект.
- sebastianbergmann/object-graph — Позволяет выводить граф объектов PHP.
- apioo/fusio — API Management платформа с открытым кодом.
- antonioribeiro/ci — Простой CI на базе Laravel.
- php-censor/php-censor — Другой популярный CI сервер на PHP.
- enygma/expose — Библиотека для обнаружения попыток атак на приложение.
- ircmaxell/PHP-Yacc — Генератор парсеров по YACC-грамматике.
- paragonie/certainty — Автоматическое управление cacert.pem для PHP-проектов. Подробнее о проблеме в посте.
- infection/infection — Фреймворк для мутационного тестирования на основе AST. Пост в поддержку.
Материалы для обучения
Symfony
- Использование событийной модели в Doctrine 2 + Symfony 3
- Symfony Flex: Будущее Symfony
- Немного бенчмарков PHP 7.1 vs 7.2 с помощью Docker и Symfony Flex
- Symfony 4: HTTP/2 Push и предзагрузка
- Неделя Symfony #563 (9-15 октября 2017)
- Неделя Symfony #564 (16-22 октября 2017)
- Неделя Symfony #565 (23-29 октября 2017)
Yii
Laravel
- Анонсирована Laracon Online 2018
- renatomarinho/laravel-page-speed — Минифицирует HTML.
- laravel-shield — Middleware для защиты ендпоинтов предназначенных для использования веб-хуками сторонних сервисов.
- stefanzweifel/laravel-stats — Artisan-команда, которая выведет разнообразную статистику кода.
- ajthinking/tinx — Улучшения для Tinker.
Async PHP
- recoilphp/recoil 1.0 — Набор инструментов для работы с корутинами в PHP.
- seregazhuk/php-react-memcached — Асинхронный клиент для Memcached. А также пара постов от автора о создании клиента: запросы и обработка ответов, соединение и ошибки.
CMS
- Git и WordPress: автообновление постов из пул-реквестов
- О будущем Drupal в контексте использования JS-фреймворков, в частности React
- Magento Dare to Share. Осень — сезон Magento митапов
- Magento Tech Digest #5 — News, Tutorials and Tools (October 9-30, 2017)
- О передаче данных из внешних слоев PHP-приложения на слой логики
- Отправляем логи из Monolog в ELK
- Injectables vs.Newables
- Быстрая и безопасная итерация массива —
foreach ($definition ?? [] as $id => $val) { }
- Непрерывный мониторинг производительности PHP-приложений с помощью Blackfire — Об использовании отличного профайлера Blackfire.io.
- Очередь задач на PHP с помощью bernardphp/bernard
- Всё, что вы должны знать о переменных окружения в PHP
- Области сокрытия кода и рефакторинг
- array_* vs foreach или PHP7 vs PHP5
- AMA. Avito. Backend
- Поиск и исправление багов в исходниках PHP
Аудио и видеоматериалы
- Александр Макаров: Большие проекты, архитектура и фреймворки
- PHP Roundtable #067: Imposter syndrome and the Dunning-Kruger effect
- PHP Roundtable #068: PHP's Dirty Little Segfault Secret
Занимательное
- josephernest/Yopp — Гениальное решение для передачи файла с телефона на компьютер и обратно.
Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
Вопросы и предложения пишите на почту или в твиттер.
Прислать ссылку
Поиск ссылок по всем дайджестам
< Предыдущий выпуск: PHP-Дайджест № 118
shuguroff
Чат с самим собой в telegram намного интересней.
shushu
Новый файлообменник скайп!
kowap
SamDark:
Короче ясно… развитие Yii2 приостановилось.
nesttor
pronskiy Занимательно, что ты этот «отлично написанный скрипт для передачи файлов» засунул в «Занимательное» ) Повеселил )
Интересно смотреть куда двигается PHP уже немного попедалив на .net
Теперь понимаю что бы мне хотелось видеть в языке и круто, что PHP развивается!
pronskiy Автор
Как насчет вернуться на светлую сторону? :-)
BoShurik
Увы но так нельзя. Точнее в этом мало смысла, т.к. у нас будет доступ ко всему конфигу сразу, а не к конкретному ключу
https://github.com/symfony/symfony/issues/24674#issuecomment-340267955
Fesor
ммм… а зачем так вообще делать?
BoShurik
Зачем хранить пароли в одном файле/файлах, а не в конкретных переменных окружения?
Хотя бы поэтому: https://twitter.com/o_cee/status/892306836199800836
Fesor
Нет, зачем вам доступ по ключу.
по хорошему вы должны при старте приложения все секреты загрузить в память и удалить файл. В вашем же варианте все будет пылиться в дампе контейнера и утянуть все равно будет можно. Потому этот вариант лишь немного лучше. Потому нужна возможность не просто из файлика прочитать отдельные ключи (к слову лучше просто по файлу на секрет, это будет как раз таки хорошо сочетаться со всякими там докерами), а возможность подгружать их из разделяемой памяти например. Тогда все будет довольно таки безопасно.
wertex15
В очередной раз по Yii ничего кроме новостей. Пичалька.