В выпуске: PHP 7.3 alpha 4, ReactPHP 1.0 LTS и другие релизы, свежее предложение «Namespace Visiblity for Class, Interface and Trait» из PHP Internals, ведеозаписи докладов и вебинаров, порция полезных инструментов, и многое другое.
Приятного чтения!
Новости и релизы
- PHP 7.3.0 alpha 4 — Последняя «альфа» в цикле. Первый бета-выпуск запланирован на 2 августа. К списку новых возможностей добавится недавно принятое предложение о введение новых функций
array_key_first()
/array_key_last()
для работы с массивами:$array = ['a' => 1, 'b' => 2, 'c' => 3]; $firstKey = array_key_first($array); // 'a' $lastKey = array_key_last($array); // 'c'
Этап голосования прошло предложения Deprecations for PHP 7.3, в котором несколько возможностей объявлены устаревшими. Также устаревшими в PHP 7.3 будут объявлены константы нечувствительные к регистру.
Что касается предложения по типизированным свойствам, то его решено отложить до следующей версии, которая, вероятно, PHP 8.0. - Обновления всех актуальных веток PHP с исправлениями ошибок безопасности:
• PHP 7.2.8
• PHP 7.1.20
• PHP 7.0.31
• PHP 5.6.37 - PhpStorm 2018.2 Public Preview — Среди нововведений: обновленный интерфейс и поддержка touch bar, улучшенное автодополнение с учетом пространств имен, структурный поиск и замена, упрощенная установка CodeSniffer/MessDetector, и другие улучшения.
- Symfoniacs Moscow #15 — 2 августа, Москва, традиционная встреча PHP/Symfony разработчиков. На этот раз в гостях у компании Lamoda.
PHP Internals
- [RFC] Namespace Visiblity for Class, Interface and Trait — Предлагается ввести модификаторы доступа для классов, интерфейсов и трейтов для ограничения использование по пространству имен:
Скрытый текст
namespace Example { public class A { private $property; } protected class B { public $property; } private class C { protected $property; } } namespace OtherVendor { public class Factory { public function A() { return new ExampleA(); // Allowed by public } public function B() { return new ExampleB(); // Not allowed because // namespace is not shared } public function C() { return new ExampleC(); // Not allowed because // not from same namespace } } }
Инструменты
- PHLAK/Twine — Объектная обертка для работы со строками. Альтернатива danielstjules/Stringy.
- atlasphp/Atlas.Orm 3.0 — Интересная ORM.
- makasim/values — Библиотека пытается объединить лучшее из мира объектов и массивов. Работаете с объектами как обычно, а под капотом будут использоваться массивы.
- AI-BOLIT — Бесплатный антивирусный сканер для PHP-сайтов.
- spatie/crawler — Мощный краулер на базе Guzzle, а также Chrome и Puppeteer для рендеринга JavaScript-сайтов.
- spatie/code-outliner — Пакет создаст визуальное представление вашего кода, чтобы понять как он воспринимается, абстрагировавшись от содержания.
Материалы для обучения
-
Symfony
- Неделя Symfony #603 (16-22 июля 2018)
- Неделя Symfony #602 (9-15 июля 2018)
- Опыт Rambler Group: Управление React компонентами из Symfony
-
Yii
-
Laravel
- chelout/laravel-relationship-events — Библиотека с событиями для связанных сущностей Eloquent.
- rennokki/befriended — Соц-медиа возможности для Eloquent: подписчики, блокирование, фильтры.
- beyondcode/laravel-view-xray — Удобно подсветит и подпишет вьюшки на странице.
- beyondcode/laravel-query-detector — Небольшой хелпер, который поможет избежать запросов к БД в цикле.
- beyondcode/laravel-dump-server — Интеграция Symfony Dump Server для Laravel.
- spatie/laravel-event-projector — Стабильный релиз пакета для реализации Event Sourcing в Laravel. Видеобзор и пост в поддержку.
-
Zend
- zendframework/zend-expressive-swoole — Библиотека предоставляет поддержку асинхронного движка Swoole в Zend Expressive.
- Неделя Zend Framework 2018-07-19
-
Async PHP
- ReactPHP 1.0.0 LTS — В 2012 году вышел первый релиз ReactPHP v0.1.0. Спустя ровно 6 лет, команда разработчиков анонсировала первый стабильный релиз с долгосрочной поддержкой ключевых компонентов.
- leproxy/leproxy v0.2.2 — HTTP/SOCKS прокси-сервер на ReactPHP.
- clue/reactphp-buzz — Простой асинхронный PSR-7-совместимый HTTP-клиент.
- ReactPHP Tutorial #9: POST Requests
-
CMS
- Serverless PHP — Сравнение вариантов запуска PHP на AWS Lambda: из Nodejs, из Go, с помощью Peachpie на .NET.
- Архитектура децентрализованной соц-сети movim
- Объекты нужно конструировать за один шаг
- PSR-18: The HTTP client PSR — Об истории, проблемах, и будущем стандарта.
- Советы по работе с фикстурами
- Чек-лист по безопасности для веб-разработчика
- ABI Model Pattern v0.5.6 Beta
- Расширение PHP и Kotlin Native. Часть вторая, осознанная
- Устаревший код – сторонний код
Аудио и видеоматериалы
- Открытый урок по PHP «Основные понятия баз данных»
- Пятничный PHP: бесплатные вебинары от Skillbox
- Dutch PHP Conference 2018 — Видеозаписи всех докладов.
Занимательное
-
Риалтайм тайпхинты в PhpStorm – что думаете?
- Rayne/ecoji-php — Base64 — это скучно, закодируй строку в последовательность emoji:
use RayneEcojiEcoji; $ecoji = new Ecoji; $ecoji->encode("Base64 is so 1999, isn't there something better?n");
Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
Вопросы и предложения пишите на почту или в твиттер.
Прислать ссылку
Поиск ссылок по всем дайджестам
← Предыдущий выпуск: PHP-Дайджест № 134
Автор: Роман Пронский