PHP-Дайджест № 139 (3 – 17 сентября 2018)
Новости и релизы
- 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 7, 8 и 9 — Drupal 7 и 8 будут поддерживаться до ноября 2021, пока поддерживается Symfony 3. Drupal 9 выйдет в 2020.
-
Создан ClassicPress, форк WordPress с классическим web-редактором
-
WordBits.io — Интересный проект, на котором предлагается делиться сниппетами для WordPress с возможностью скачивать их как готовые плагины.
-
Несколько кейсов когда доменная модель может быть переиспользована
-
Почему следует объявлять классы окончательными (final) по умолчанию
-
Загрузка больших файлов на PHP с возможностью остановки/возобновления — с помощью протокола tus.io и ankitpokhrel/tus-php
-
Расширение PHP и Kotlin Native. Часть третья, наверное финальная
-
Заглянем под капот Doctrine 2 — Анализ архитектуры Doctrine 2 и примеры использования.
-
Как подружить PHPstorm, xDebug и удаленные ветки, собранные через Docker?
Аудио и видеоматериалы
- Пятиминутка PHP радует свежими выпусками: №37 — DevOps в малом бизнесе?, №36 — Что нового в PHP 7.3? — Спасибо, @PetrMyazin!
- Основы автоматизированного тестирования в РНР от @Davert.
- Видеозаписи с PHP Odessa Conf 2018
- PHP Roundtable #77: О подготовке к собеседованиям
Занимательное
-
phptestquestions.com — Тест для проверки знаний PHP.
-
Timo Mihaljov @noidi PHP was 15-20 years ahead of the #serverless curve. You just uploaded your code and the hosting provider took care of the rest.
8:52 AM - Jul 15, 2017
Спасибо за внимание!