Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.3 RC 1, PhpStorm 2018.3 EAP, Laravel 5.7 и другие релизы, HHVM прекращает поддержку PHP, типизированные свойства в PHP, порция полезных инструментов, видеозаписи докладов, и многое другое.
Приятного чтения!
Новости и релизы
- PHP 7.3 RC 1 — Стартовал цикл релиз-кандидатов ветки 7.3. Ожидается всего не менее 6 выпусков для стабилизации. Тем временем можно почитать что нового в PHP 7.3.
- PHP 7.2.10
- PHP 7.1.22
- PHP 7.0.32
- PHP 5.6.38
- HHVM перестанет поддерживать PHP — Релиз HHVM v3.30, которой запланирован на декабрь, станет последней версией с поддержкой PHP. Проекты рекомендуется переводить либо полностью на Hack, либо на PHP 7. Новость ожидаемая, об этом предупреждали еще год назад, ну а популярные фреймворки и проекты отказались от поддержки HHVM и того раньше. Спасибо команде HHVM за то, что подтолкнули PHP к развитию, желаем удачи!
- Новости PHP-FIG за лето — Принят PSR-17 HTTP Factories, спецификация PSR-18 HTTP Client в ревью, опубликован и активно обсуждается черновик PSR-14 Event Dispatcher.
- PhpStorm 2018.3 EAP — Стартовала программа раннего доступа PhpStorm, благодаря которой можно использовать новые версии IDE совершенно бесплатно. Из уже реализованных нововведений:
• Поддержка PHP-CS-Fixer позволяет не только подсвечивать, но и исправлять ошибки стандартов
• Быстрый поиск переменных во время отладки
• Ctrl+Dot автодополнение
• Переработанный диалог поиска классов/файлов
• Поддержка DQL
и другие улучшения.
PHP Internals
- [RFC] Typed Properties 2.0 — Стартовало голосование по добавлению типизированных свойств. Сообщество поддержало предложение практически единогласно, а значит уже в следующей версии нас ждет значительное улучшение PHP.
class User { public int $id; public string $name; // ... }
Инструменты
- thecodingmachine/safe — В библиотеке реализованы обертки над стандартными функциями PHP, так чтобы они бросали исключения вместо возвращения
false
. Подробнее в посте. - rambler-digital-solutions/hydrogen — Более быстрый и удобный уровень абстракции для Doctrine ORM.
- theorchard/monolog-cascade — Расширение для Monolog позволяет сконфигурировать несколько обработчиков в одном файле.
- renatomefi/php-fpm-healthcheck — Shell скрипт для проверки статуса php-fpm. Может пригодиться при работе с Docker и Kubernetes.
- docteurklein/json-chunks — Потоковое кодирование JSON на лету с помощью генераторов. Альтернатива violet-php/streaming-json-encoder
- thecodingmachine/phpstan-strict-rules — Дополнительные правила для статического анализатора PHPStan.
- wbars/PHPFoldings — Плагин для PhpStorm, который позволяет «схлопывать» конструкции языка делая код более чистым: геттеры/сеттеры, лямбды,
$this->
и прочее.Скрытый текст
Материалы для обучения
Symfony
- symfony/panther — Представлен новый компонент Symfony для E2E тестирования на основе ChromeDriver. Аналог Laravel Dusk и AcceptenceTests в Codeception.
- Неделя Symfony #611 (10-16 сентября 2018), #610 (3-9 сентября 2018)
- 4 способа добавить глобальную опцию или аргумент в Symfony Console приложении
- Пишем одностраничное приложение на Symfony 4, Vue.js, Vue Router, Vuex
Yii
- forum.yiiframework.com — Новый форум Yii на базе Discourse.
Laravel
- Laravel 5.7 — Новая структура папки ресурсов, улучшенные сообщения об ошибках, добавлена интеграция с Symfony Dump Server, возможности для тестирования artisan-команд, и другие улучшения.
- saleem-hadad/larecipe — Красивая документация на markdown для Laravel-проектов.
- marvinlabs/laravel-luhn — Валидация номеров кредитных карт.
Async PHP
- recoilphp/react — Превращает промисы ReactPhp в корутины.
- reactphp/cache — Асинхронная библиотека для кэширования. О новых возможностях библиотеки в посте автора.
CMS
- Drupal 8.6.0
- О Drupal 7, 8 и 9 — Drupal 7 и 8 будут поддерживаться до ноября 2021, пока поддерживается Symfony 3. Drupal 9 выйдет в 2020.
- Создан ClassicPress, форк WordPress с классическим web-редактором
- WordBits.io — Интересный проект, на котором предлагается делиться сниппетами для WordPress с возможностью скачивать их как готовые плагины.
- Magento Tech Digest #30: Aug 27 – Sept 03, 2018
- Несколько кейсов когда доменная модель может быть переиспользована
- Почему следует объявлять классы окончательными (final) по умолчанию
- 5 советов по работе над опенсорс PHP проектами
- Загрузка больших файлов на PHP с возможностью остановки/возобновления — с помощью протокола tus.io и ankitpokhrel/tus-php
- Аргументы функций в виде битовых констант в PHP
- Расширение PHP и Kotlin Native. Часть третья, наверное финальная
- Как я боролся с воровством… с помощью php
- Заглянем под капот Doctrine 2 — Анализ архитектуры Doctrine 2 и примеры использования.
- Как подружить PHPstorm, xDebug и удаленные ветки, собранные через Docker?
- Экспорт данных из базы в кастомный формат в JetBrains IDE
Аудио и видеоматериалы
- Пятиминутка PHP радует свежими выпусками: №37 — DevOps в малом бизнесе?, №36 — Что нового в PHP 7.3? — Спасибо, @PetrMyazin!
- Основы автоматизированного тестирования в РНР от Davert.
- Видеозаписи с PHP Odessa Conf 2018
- PHP Roundtable #77: О подготовке к собеседованиям
Занимательное
- phptestquestions.com — Тест для проверки знаний PHP.
Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
Вопросы и предложения пишите на почту или в твиттер.
Прислать ссылку
Поиск ссылок по всем дайджестам
< Предыдущий выпуск: PHP-Дайджест № 138
ViViVi
Спасибо за подборку! Небольшое замечание: Drupal 7 будет поддерживаться до ноября 2021, а Drupal 8 будет поддерживаться — пока не выйдет Drupal 10.
pronskiy Автор
А есть пруфлинк? Потому что в посте по ссылке написано: This means we have to end-of-life Drupal 8 no later than November 2021.
ViViVi
Да, в посте по ссылке написано правильно, мое замечание не верно: www.youtube.com/watch?v=iXB0sNreSlM (Drupal Europe 2018 — «Driesnote»).