TG Telegram Group Link
Channel: PHP Digest
Back to Bottom
Дайджест PHP – Сентябрь 2022

Подборка свежих новостей, инструментов, видео и материалов из мира PHP. Приятного чтения!

⚡️ НОВОСТИ

🔹 Вышел PHP 8.2 RC 3

Очередная версия RC была выпущена по расписанию. RC4 – ожидается 13 октября.

Подробно про все изменения в PHP 8.2 можно прочитать на сайтах PHP.Watch или stitcher.io.

🔹 Вышли PHP 7.4.32, PHP 8.0.24 и PHP 8.1.11

❗️Это выпуски с исправлением проблем безопасности. Всем пользователям рекомендуется обновиться.

🔹 Доступен PhpStorm 2022.3 EAP!

Вот что вы уже можете попробовать в рамках программы раннего доступа PhpStorm:
- Новой интерфейс (пока в бета-режиме, но доступен всем по опции в настройках)
- Полная поддержка PHP 8.2
- Предварительный просмотр быстрых исправлений
- И многое другое

🐘 ЯДРО PHP

Большинство новостей ядра подробно освещаются в серии PHP Core Roundup от PHP Foundation, поэтому лишь кратко пробежимся:

📊 RFC: json_validate #PHP 8.3

В этом RFC Juan Carlos Morales предлагает добавить новую функцию json_validate(), которая проверяет, является ли строка корректным JSON.

🤔 RFC: Improve unserialize() error handling #PHP 8.3

Tim Düsterhus предлагает бросать исключение UnserializationFailedException в случае ошибки сериализации.

🤔 RFC: StreamWrapper Support for glob() #PHP 8.3

Timmy Almroth предлагает реализовать в StreamWrappers поддержку функции glob().

🔹RFC: Deprecations for PHP 8.3

RFC со списком того, что предлагается объявить устаревшими в PHP 8.3 и удалить в PHP 9.

🛠 ИНСТРУМЕНТЫ

🔹play.phpsandbox.io – Попробуйте пакеты Composer прямо в браузере, ничего не устанавливая.

🔹cspray/annotated-container – Dependency Injection framework для конфигурирования контейнера PSR-11 с атрибутами.

🔹openai-php/client – Клиент для API OpenAI.
Существует также orhanerday/open-ai, если вам нужна альтернатива для доступа к API OpenAI GPT-3.

⚫️ SYMFONY

🔹Вышел symfony/webpack-encore 4.0.0. Некоторые зависимости (например, webpack) были перенесены из Encore в проект.

🔹StenopePHP/Stenope – Инструмент создания статических веб-сайтов для Symfony. Вы можете создать полноценное приложение Symfony, а затем развернуть его в виде статической страницы в любом удобном для вас месте.

🔴 LARAVEL

🔹ksassnowski/venture 4.0.0 – Пакет для создания и управления сложными асинхронными рабочими процессами в приложениях Laravel.

🔹spatie/laravel-model-info – Пакет для получения информации обо всех моделях.

🔹YorCreative/Laravel-Scrubber – Пакет для очистки конфиденциальной информации, нарушающей политики операционной безопасности, от случайной или неслучайной утечки разработчиками. Подробнее об использовании.

👨‍🏫 Laracon Online – Видеозаписи всех докладов с онлайн конференции по Laravel.
Тейлор представил Laravel Bootcamp – новый обучающий сайт по Laravel.

🟢 ДРУГИЕ ФРЕЙМВОРКИ

🔹Вышел spiral/framework 3.0.0 – Большое обновление фреймворка от создателей RoadRunner.

🔹Вышел Phalcon PHP Framework 5.0 – Подробный список нововведений приведён в документации.

🔹Вышел api-platform/api-platform 3.0 – Фреймворк построен поверх Symfony и позволяет создавать REST и GraphQL API и многое другое.

🔹Appwrite 1.0 – Крупный стабильный выпуск решения с открытым исходным кодом backend-as-a-service.

🔹Вышли обновления пакетов Yii Strings 2.1.0, Yii Middleware Dispatcher 3.0.0, Yii Profiler 2.0.0, Yii Message Translator 1.1.1, Yii Cache File Handler 2.0.1.
Более подробно новости Yii освещаются в канале «Хроники Yii3».

📄 СТАТЬИ

🔹Как мы решаем проблемы со склонением слов для задач seo-оптимизации с помощью phpMorphy от Александра Корабельникова.

🔹PHP: атрибуты vs аннотации: оптимизируем метадату Doctrine от Романа Ушакова.

🔹Выходя за рамки ООП. Разработка расширений для PHP на PHP от Александра Макарова.



Ещё больше новостей и ссылок в сентябрьском выпуске PHP Annotated от JetBrains 💜

🎬 Дайджест PHP в видео-формате на канале CutCode
Forwarded from Пых (Валентин Удальцов)
#[<T>] Дженерики через атрибуты

Роман Пронский в своём блоге предлагает реализовать стираемые дженерики путём расширения синтаксиса атрибутов.

Ход мысли такой. Сейчас мы описываем общие типы для Psalm и PHPStan в phpdoc-ах, то есть, по сути, и используем стираемые дженерики, только с не особо стандартизованным синтаксисом и в комментариях, КАРЛ. А ещё у нас есть атрибуты — синтаксис в PHP, предназначенный для метаинформации. Так почему бы нам не объединить две эти вещи? Так как атрибуты в текущем виде слабо подходят для типизации, Рома предлагает расширить их синтаксис, в частности, разрешить ставить атрибуты над выражениями и перед типом возвращаемого значения.

https://pronskiy.com/blog/generics-via-attributes-in-php/

Я считаю, что это интересный альтернативный взгляд на дженерики в PHP, но с ним связано несколько проблем:

1. Нарушение принципа единой отвественности для атрибутов. Мы либо получим неоднозначность в определении понятия "атрибут", либо просто дженерики с похожим синтаксисом.

2. Инстанциированные атрибуты можно получить только через рефлексию. Рефлексия — это рантайм и автолоадинг. Статанализ же в идеале вообще не должен запускать анализируемый код. Именно поэтому появились такие проекты, как PHP Parser и Better Reflection. Если же обновлённые атрибуты будут использоваться только как синтаксис, то нет смысла их называть атрибутами.

3. Приведенную в статье декларацию атрибута-дженерика над выражением вообще не получится отрефлексировать, поскольку для выражений по определению невозможна рефлексия. Из-за этого синтаксис дженериков может быть реализован только на уровне языка.

Получается, что замаскированные под атрибуты дженерики технически не смогут ими быть. Ну а в таком случае проще реализовать стираемые дженерики с привычным синтаксисом array<string, object>. Если же по каким-то техническим причинам необходимо оборачивать декларации в #[], то пусть это просто будут дженерики с таким синтаксисом.

Что касается самой концепции стираемых дженериков, я её однозначно поддерживаю. Да, такой подход требует наличия внешнего анализатора, но взамен даёт стандартизированный синтаксис, нативный парсинг кода с дженериками и популяризацию обобщённого программирования среди PHP-разработчиков.

Я очень рад, что Рома в очередной раз подогрел дискуссию вокруг дженериков. Любой подобный движ полезен для сообщества и приближает нас к результату.
Дайджест PHP – Октябрь 2022

Подборка свежих новостей, инструментов, видео и материалов из мира PHP. Приятного чтения!

⚡️ НОВОСТИ

🔹 Вышел PHP 8.2 RC 5

Очередная версия RC была выпущена по расписанию. Шестой RC ожидается 10 ноября и он будет последним перед финальным релизом PHP 8.2.

Подробно про все изменения в PHP 8.2 можно прочитать на сайтах PHP.Watch или stitcher.io.

🔹 Вышли PHP 8.0.25 и PHP 8.1.12

❗️Это выпуски с исправлением проблем безопасности. Всем пользователям рекомендуется обновиться. Подробнее на сайте PHP.Watch.

🐘 ЯДРО PHP

Большинство новостей ядра подробно освещаются в серии PHP Core Roundup от PHP Foundation, поэтому лишь кратко пробежимся:

RFC: json_validate

RFC принят, новую функцию json_validate() добавят в PHP 8.3.

RFC: Improve unserialize() error handling

Tim Düsterhus предлагал добавить новое исключение UnserializationFailedException, которое выбрасывается в случае возникновения ошибки сериализации.

RFC бурно обсуждался в Twitter и в конце концов часть, касающаяся выбрасывания исключения, не была принята. Вместо этого будет увеличен уровень выдаваемой ошибки с E_NOTICE до E_WARNING.

📣 RFC: Randomizer Additions

Tim Düsterhus и Joshua Rüsweg предлагают добавить новые методы классу Randomizer, которые реализуют часто используемые операции, но сложно реализуемые в пользовательском коде.

📣 RFC: Destructuring Coalesce

Bob Weinand предложил добавить оператор для значений по умолчанию в деструктивных присваиваниях.

🛠 ИНСТРУМЕНТЫ

🔹dunglas/frankenphp – Современный сервер приложений PHP, написанный на Go.

🔹Saeghe – Современный менеджер пакетов PHP. Теперь у PHP есть ещё один менеджер пакетов, он использует GitHub ссылки в качестве зависимостей.

🔹composer-unused/composer-unused – Пакет показывает неиспользуемые зависимости composer.

🔹heiglandreas/holidayChecker – Пакет для проверки праздничных дней.

🔹mevdschee/php-crud-api - Однофайловый PHP-скрипт, добавляющий REST API к базе данных SQL.

🔹Laragon - Ещё один инструмент локальной среды разработки: портативная, изолированная, быстрая и мощная альтернатива XAMPP и подобным. Подробнее об использовании.

⚫️ SYMFONY

❗️ Twig security release: Possibility to load a template outside a configured directory when using the filesystem loader от Fabien Potencier.

🔹emr-dev/sf-bug-bundle – Пакет для совместного использования страниц профилировщика. Подробнее об использовании.

🔴 LARAVEL

🔹spatie/laravel-dynamic-servers – Пакет для динамического создания и удаления серверов. Подробнее об использовании.

🔹creagia/laravel-sign-pad – Пакет для подписания документов и, по желанию, генерации PDF, связанных с моделями Eloquent. Подробнее об использовании.

🔹hammerstonedev/sidecar – Развертывание и выполнение функций AWS Lambda в Laravel.

📄 СТАТЬИ

🔹Цветные функции: ищем плохие архитектурные паттерны от Александра Кирсанова.

🔹Перестаньте использовать SQLite в Unit-тестах перевод статьи от Вадима Кравец.

🔹Yii3 Overview 1. Вступление от Дмитрия Дерепко.

🔹Декомпозируем регулярные выражения от Юрия Каткова.

🎬 ВИДЕО

🔹Пыхэфир #2 c Валентином Удальцовым.

🔹PHP-линч #1 – Первый в мире PHP-линч на канале PHP Point.

🔹RND PHP #5 – Митап сообщества PHP разработчиков города Ростов-на-Дону.

👨‍💻 СОБЫТИЯ

🔹PHP Russia – Крупнейшая конференция по PHP в России пройдёт 24-25 ноября в рамках HighLoad++ 2022.

🔹Podlodka PHP Crew – Недельная конференция с экспертами из топовых компаний — сессии в Zoom, сообщество в Slack и ламповая атмосфера.



Ещё больше новостей и ссылок в октябрьском выпуске PHP Annotated от JetBrains 💜

🎬 Дайджест PHP в видео-формате на канале CutCode
Дайджест PHP – Ноябрь 2022

Подборка свежих новостей, инструментов, видео и материалов из мира PHP. Приятного чтения!

⚡️ НОВОСТИ

🔹 Вышел PHP 8.2 RC 7

В этом году добавлена ещё одна, седьмая RC-версия, выход PHP 8.2.0 GA откладывается до 8 декабря.

Bob Weinand обнаружил несколько ошибок, которые редко встречаются в искусственном коде, но с большой вероятностью могут воспроизвестись в реальном коде.

Завершение цикла PHP 7

Для PHP 7.4 больше не будут выходить обновления, релиз PHP 7.4.33 стал последним, рекомендуется обновиться до поддерживаемой версии.

🔹 Вышли PHP 8.0.26 и PHP 8.1.13

🐛 Это выпуски с исправлением ошибок.

🎂 PHP Foundation исполнился 1 год

Год назад компания JetBrains опубликовала новость о создании PHP Foundation.

За прошедший год PHP Foundation поддержал работу 6 разработчиков ядра и ежемесячно публиковал обновления в серии PHP Core Roundup.

Ознакомьтесь с отчетом фонда за 2022 год.

Поддержать PHP Foundation можно на OpenCollective.

Принят PSR-20: Clock

🔹 Группа PHP-FIG приняла PSR-20 с рекомендуемым интерфейсом ClockInterface для работы с датой и временем.

🐘 ЯДРО PHP

RFC: Randomizer Additions

RFC: Destructuring Coalesce

📣 RFC: Dynamic class constant fetch

Ilija Tovilo предложил добавить синтаксис для поиска констант класса.

📣 RFC: Arbitrary static variable initializers

Также Ilija Tovilo предлагает расширить синтаксис, позволяющий инициализатору статической переменной содержать произвольные выражения.

📣 RFC: Use exceptions by default in SQLite3 extension

Предлагается постепенно отказаться от предупреждений в модуле SQLite3.

📣 RFC: Readonly amendments

Nicolas Grekas и Máté Kocsis предлагают улучшить свойства и классы readonly.

🛠 PhpStorm

🔹 AMA с командой PhpStorm

🔹 Вышел PhpStorm 2022.3 RC – Полная поддержка PHP 8.2, новый пользовательский интерфейс (предварительный просмотр), поддержка Redis и многое другое.

🔹 VKCOM/modulite – Честная модульность внутри PHP.

🔴 LARAVEL

🎬 AMA About Laravel with Taylor Otwell

🔹 Как мы провели второй русскоязычный Laravel-митап от Михаила Радионова.

🔹 protonemedia/laravel-splade – Пакет для создания интерактивности непосредственно в Blade, без необходимости писать JS-код.

🟢 Yii

🔹 Новости Yii 2022, выпуск 2 от Александра Макарова.

🔹 Yii3 Overview 2. Вспомогательные инструменты разработки от Дмитрия Дерепко.

📄 СТАТЬИ

🔹 Как мы наш большой проект на KPHP мигрировали от Алексея Васильева.

🔹 KPHP спустя 2 года от Александра Кирсанова.

🔹 Старый код в новой обёртке — как наша команда избавлялась от legacy от Станислава Решетнева.

🎬 ВИДЕО

🔹 На Ютуб канале PHP Point вышли новые выпуски PHP-линча, где Валентин Удальцов разбирает несколько пакетов и комментирует код.



🎬 Дайджест PHP в видео-формате на канале CutCode
Please open Telegram to view this post
VIEW IN TELEGRAM
Вышел PHP 8.2 🎉

PHP 8.2 — большое обновление языка PHP.

Оно содержит множество новых возможностей, включая readonly-классы, самостоятельные типы null, false и true, устаревшие динамические свойства, улучшение производительности и многое другое.

https://www.php.net/releases/8.2/ru.php
Дайджест PHP – Январь 2023

Подборка свежих новостей, инструментов, видео и материалов из мира PHP. Приятного чтения!

⚡️ НОВОСТИ

🔹 Вышли PHP 8.0.27, PHP 8.1.14, PHP 8.2.1

В этих версиях исправлена ошибка безопасности.

Завершилась активная поддержка PHP 8.0, теперь версия будет получать только секьюрити-обновления.

🛠 What’s Next in PhpStorm: The 2023.1 Public Roadmap

В первом выпуске 2023 года команда JetBrains стремится повысить производительность и ускорить индексирование, добавить интеграцию с 3v4l.org, улучшить поддержку дженериков, а также тегов PHPStan и Psalm.

🔹 Вышел Symfony 6.2

Улучшенная поддержка Emoji, аутентификатор Access Token, встроенные атрибуты Cache+Security+Template+Doctrine, улучшенная поддержка перечислений и многое другое.
Ознакомьтесь со списком новых возможностей, чтобы узнать об основных особенностях этого нового выпуска.

🔹Вышли Psalm 5, Xdebug 3.2.0, PHPStan 1.9.0, Drupal 10, amphp/amp 3.0.0, PHP-DI 7.0

🐘 ЯДРО PHP

RFC: Dynamic class constant fetch

RFC: More Appropriate Date/Time Exceptions

📊 RFC: Asymmetric Visibility

📣 RFC: List\unique() and Assoc\unique()
Ilija Tovilo предложил добавить две новые функции. Основная проблема в том, что функция array_unique использует нестрогое сравнение, новые фунции будут использовать строгое сравнение, первая — отбрасывая ключи, а вторая — сохраняя их.

📣 RFC: Unicode Text Processing
Derick Rethans предложил новый класс, чтобы использовать и обрабатывать текст (Unicode) более удобным для разработчиков способом по сравнению с модулем intl.
Все методы нового класса Text будут возвращать новый (неизменяемый) объект.

📣 RFC: Add SameSite cookie attribute parameter
George Peter Banyard предлагает добавить параметр SameSite во все соответствующие функции.

🔹 18 функций/изменений для улучшения ядра PHP
Thomas Hruska реализовал cubiclesoft/php-ext-qolfuncs – набор функций для улучшения жизни PHP-разработчика.
Сради них есть несколько довольно интересных дополнений: str_splice(), str_realloc(), fread_mem(), is_reference() и refcount().
С нетерпением ждём появления официального RFC.

📄 СТАТЬИ

🔹 Вышел PHP 8.2: разбираем главные изменения – Александр Макаров, Валентин Удальцов и Владлен Гилязетдинов разбираются, какие новые фичи появились в PHP 8.2, насколько эти изменения глобальны и какую роль в них сыграл проект РHP Foundation.

🔹 Откуда что берется: интеграция с ЕСИА на языке PHP

🔹 Как мы интегрировали и настроили для работы Conventional Commits в PHPStorm

🔹 Честные модули внутри PHP: теперь они существуют и запись доклада с HighLoad++

🔹 Популяризация JSON-RPC (часть 1)

🔹 Работа с Веб-сокетами на PHP

🔹 В очередь, ...! Как управлять состоянием системы через события

🔹 Зачем и как использовать Объекты передачи данных в Laravel

🎬 ВИДЕО

🔹 ID-баттл: UUID vs автоинкремент

🔹 Docker for PHP developer: tips and tricks

🔹 PHP: почему его вечно хоронят, актуально ли его учить и чем он полезен бизнесу



🎬 Дайджест PHP в видео-формате на канале CutCode

Ещё больше новостей и ссылок в январском выпуске PHP Annotated от JetBrains 💜
Please open Telegram to view this post
VIEW IN TELEGRAM
Дайджест PHP – Февраль 2023

Подборка свежих новостей, инструментов, видео и материалов из мира PHP. Приятного чтения!

⚡️ НОВОСТИ

🔹 Вышли PHP 8.0.28, PHP 8.1.16 и PHP 8.2.3

❗️Исправлены уязвимости CVE-2023-0568, CVE-2023-0567 и CVE-2023-0662.

🔹 Вышел Laravel 10

🔹 Вышел PHPUnit 10

Грядет большой релиз стиля кодирования PER

Версия 1.0.0 была копией PSR-12. Следующая версия посвящена расширению спецификации до последних функций PHP и исправлению несоответствий.

🐘 ЯДРО PHP

RFC: Asymmetric Visibility

Ilija Tovilo и Larry Garfield получили необходимые отзывы и, возможно, представят пересмотренную версию RFC, а пока они сосредоточатся на RFC по добавлению хуков и аксессоров к свойствам.

RFC: Readonly amendments

📣 RFC: Path to Saner Increment/Decrement operators – George Peter Banyard предлагает улучшить операторы инкремента и декремента.

📣 RFC: Pass Scope to Magic Accessors – Nicolas Grekas и Ilija Tovilo предлагают передавать область вызова в магические аксессоры, чтобы сделать её получение более тривиальным.

📣 RFC: Typed class constants – Benas Seliuginas и Máté Kocsis предлагают добавить поддержку объявления типов констант для классов и интерфейсов.

📣 RFC: Working With Substrings – Thomas Hruska предлагает оптимизировать работу с подстроками.

🛠 PhpStorm 2023.1 Early Access Program Is Open!

- Запуск PHP-скриптов на 3v4l.org
- Улучшение производительности, включая общие индексы для популярных пакетов PHP
- Улучшения в новом пользовательском интерфейсе
- Поиск и замен на основе регулярных выражений

SYMFONY

🔹 Оптимизация OneToMany коллекций Doctrine

🔹 Докеризируем Symfony

🔹 Clean Architecture, DDD, гексагональная архитектура. Разбираем на практике blog на Symfony

🔴 LARAVEL

🎬 Обзор Laravel 10. Что нового в обновлении и попытка апгрейда проекта с Laravel 9 до 10 версии

🎬 Разбор метода Macro

🎬 Разбор Query Builder, Collections, Model в Laravel

🟢 YII

🔹 Yii Validator — простой и мощный

🔹 Yii news 2023, issue 1

🛠 ИНСТРУМЕНТЫ

🔹 paratestphp/paratest – Пакет параллельного тестирования для PHPUnit. Вышла версия 7.0.0.

🔹 spatie/php-structure-discoverer – Пакет для автоматического обнаружения классов в PHP-приложении.

🔹 TheDragonCode/benchmark – Простой инструмент для сравнения времени, необходимого для выполнения двух различных блоков кода.

🔹 Sammyjo20/Saloon – Идея пакета заключается в том, чтобы упростить создание SDK для сервисов или организовать доступ к различным API в едином стиле.

📄 СТАТЬИ

🔹 Импорт полной базы ФИАС за 9 часов, How To

🔹 Простой бенчмарк для PHP приложений

🔹 Двухуровневый CI-процесс PHP-проекта

🔹 Как правильно проверять сложность пароля пользователя при регистрации

🔹 Не пытайтесь обезопасить ввод. Экранируйте вывод

🔹 PHPStorm + XDebug + Docker

🔹 Итоги третьего ежегодного опроса PHP-сообщества

🔹 Готовим версионирование API в PHP-фреймворках

💙АУДИО/ВИДЕО

🎬 PHP-линч #9

🎵 Самописные инфраструктурные компоненты

📅 СОБЫТИЯ

💙 Podlodka PHP Crew × Точка – 27 февраля - 3 марта.



Ещё больше новостей и ссылок в февральском выпуске PHP Annotated от JetBrains 💜
Please open Telegram to view this post
VIEW IN TELEGRAM
Дайджест PHP – Апрель 2023

Подборка свежих новостей, инструментов, видео и материалов из мира PHP. Приятного чтения!

⚡️ НОВОСТИ

🔹 Вышли PHP 8.1.18 и PHP 8.2.5

🔹 Вышел Pest 2.0

🔹 Вышел Bref 2.0

🔹 Вышел стиль кодирования PER 2.0

🔹 Выбраны релиз-менеджеры PHP 8.3

💜 PHP Foundation Update, March 2023

🛠 Вышел PhpStorm 2023.1

🐘 ЯДРО PHP

RFC: Arbitrary static variable initializers

📣 RFC: Clone with

📣 RFC: New core autoloading mechanism with support for function autoloading

📣 Jakub Zelenka предложил сформировать Технический комитет PHP

🔴 LARAVEL

🔹 Вышел Valet 4.0

🔹 Вышел Laravel IDEA 7.0

🎬 Обзор Spatie route attributes

🎬 Обзор пакета Fortify для Laravel

🛠️ ИНСТРУМЕНТЫ

🔹 crazywhalecc/static-php-cli - Инструмент для сборки PHP-приложений в один бинарный файл без лишних зависимостей.

🔹 aschmelyun/subvert - Создание субтитров, аннотаций и глав из видео за считанные секунды.

🚧 NativePHP - Marcel Pociot создаёт инструмент для запуска десктопных приложений Laravel/PHP поверх Electron или Tauri.

📄 СТАТЬИ

📄 Как и зачем тестировать код на бэкенде: рекомендации для новичков

📄 Апгрейд и рефакторинг PHP-проектов — теперь это просто с Rector

📄 Как разминировать свой код на PHP (и не только)?

📄 «Давайте перепишем всё с нуля». Почему такой подход интереснее программистам, а не бизнесу

📄 Компилируем быстрые консольные .exe приложения на PHP 8.1 в 2023 году, а почему бы и нет?

📄 Проектируем реактивное — Message-Driven системы на PHP

📄 ЦУЦ — или как свести 15 тысяч товаров от разных поставщиков на коленке

📄 Я пробовал GitHub Copilot, и я в восторге

🎬 ВИДЕО

🔹 PHP-линч #10

🔹 PHP-линч #11

🔹 PHP-линч #12



Ещё больше новостей и ссылок в апрельском выпуске PHP Annotated от JetBrains 💜
Please open Telegram to view this post
VIEW IN TELEGRAM
Дайджест PHP – Июнь 2023

Подборка свежих новостей, инструментов, видео и материалов из мира PHP. Приятного чтения!

⚡️ НОВОСТИ

❗️ Вышли PHP 8.0.29, PHP 8.1.20 и PHP 8.2.7

🔹 PHP 8.3.0 Alpha 1 доступен для тестирования

❗️ Исследователь изменил файл composer.json 14 PHP-библиотек в репозитории Packagist в попытке найти работу

🔹 Вышел Statamic 4

🛠 Открыта программа раннего доступа PhpStorm 2023.2


🐘 ЯДРО PHP

📣 RFC: Deprecate functions with overloaded signatures

RFC: PHP Technical Committee

RFC: Use exceptions by default in SQLite3 extension

📣 RFC: Marking overridden methods (#[\Override])

📣 RFC: NameOf


🔴 LARAVEL

🎬 Гайд по отношениям в Laravel

🎬 Обзор администраторской панели MoonShine

🎬 PEST тесты в Laravel. Обзор фреймворка для написания тестов


SYMFONY

🔹 Вышел Symfony 6.3.0

📄 Попрощайтесь с проверками на null и исключениями: использование монады Maybe в Symfony


🟢 YII

📄 Новости Yii 2023, выпуск 2

🎬 Конфигурация приложения в Yii3


📄 СТАТЬИ

🔹 gRPC сервер на PHP с помощью Roadrunner, Spiral Framework, Docker

📄 Долгоиграющие приложения на PHP

📄 Как создать приватные репозитории composer

📄 Лови мутанта! Мутационные тесты: зачем и как

📄 Анализ и приоритизация задач в тикетной системе: как красиво реализовать на PHP

📄 Хождение по граблям PDO: что скрывают за собой современные PHP ORM

📄 Пишем Telegram бота для распознавания голосовых сообщений и их обработки с помощью AI

📄 Использование ICU Message Format в PHP

🔹 Репозитории и их истинное назначение


🎬 ВИДЕО

🔹PHP-линч #16

🔹PHP-линч #17

🔹PHP-линч #18



Ещё больше новостей и ссылок в июньском выпуске PHP Annotated от JetBrains 💜
Please open Telegram to view this post
VIEW IN TELEGRAM
Дайджест PHP – Июль 2023

Подборка свежих новостей, инструментов, видео и материалов из мира PHP. Приятного чтения!

⚡️ НОВОСТИ

🔹 Вышли PHP 8.1.21 и PHP 8.2.8

🔹 PHP 8.3.0 Beta 1 доступен для тестирования

🔹 Вышел Livewire 3

🔹 Вышел NativePHP

🛠 Вышел PhpStorm 2023.2 Beta

🔹 Вышел Pest «Spicy Summer»


🐘 ЯДРО PHP

RFC: Marking overridden methods (#[\Override])

RFC: Deprecations for PHP 8.3

RFC: Deprecate functions with overloaded signatures

RFC: Deprecate remains of string evaluated code assertions

RFC: Path to Saner Increment/Decrement operators

RFC: PDO driver specific sub-classes

RFC: Interface Default Methods

📣 RFC: Closure self reference


🔴 LARAVEL

🔹 Представлены 4 новых пакета: Folio, Volt, Herd и Prompts

🔹 Новые возможности и изменения Livewire v3

📄 Постановка задач в очередь Laravel сторонними сервисами

🎬 Middlewares безопасности в проектах на Laravel

🎬 Отношения hasOneThrough и hasManyThrough


SYMFONY

🔹 Romaixn/gosumer – Использование сообщений Symfony Messenger с помощью Go.


🟢 YII

🔹 yiisoft/proxy-middleware 1.0.0

🔹 yiisoft/rate-limiter 3.0.0

🔹 Embracing the Future: Yii Framework Updates and Yii 2.2 Discussions


📄 СТАТЬИ

📄 PHP. Как увеличить потребление памяти в 3 и более раз при работе с массивами

📄 Разбираемся с асинхронным PHP

📄 Генерация и валидация чисел по алгоритму Луна

📄 Неудачное внедрение Redis Cluster в монолит на PHP 7.2.X

📄 Как два байта переслать: контрибьютим в KPHP

📄 Управление памятью в PHP. Сборка мусора, слабые ссылки и прочая челядь


🗓 СОБЫТИЯ

🔹Podlodka PHP Crew, 16 – 20 октября



Ещё больше новостей и ссылок в июльском выпуске PHP Annotated от JetBrains 💜

PHP-дайджест в видео формате на канале CutCode 🎬
Please open Telegram to view this post
VIEW IN TELEGRAM
Дайджест PHP – Сентябрь 2023

Подборка свежих новостей, инструментов, видео и материалов из мира PHP. Приятного чтения!

⚡️ НОВОСТИ

❗️ Вышли PHP 8.0.30, PHP 8.1.22 и PHP 8.2.9

🔹 Вышли PHP 8.1.23 и PHP 8.2.10

🔹 Вышел PHP 8.3.0RC2

🔹 Предсавлен RFC Vote

🔹 Вышел WordPress 6.3 «Lionel»

🛠 Вышел PhpStorm 2023.2

🛠 PhpStorm 2023.3 Roadmap

🔹 Вышел CakePHP 5

🔹 Вышел Filament 3


🐘 ЯДРО PHP

RFC: Support optional suffix parameter in tempnam

📊 RFC: Increasing the default BCrypt cost

📣 RFC: DOM HTML5 parsing and serialization

📣 RFC: XML_OPTION_PARSE_HUGE

📣 RFC: Add 4 new rounding modes to round() function

📣 RFC: A new JIT implementation based on IR Framework


🔴 LARAVEL

🎬 Обзор пакета Laravel Folio

🎬 Обзор пакета Laravel Prompts

🎬 Обзор NativePHP

📄 Организация кода в Laravel. Личный опыт

📄 Первый взгляд на MoonShine


SYMFONY

🔹 gRPC сервер и клиент на Symfony

📄 EasyAdmin и Mercure: реальный юзкейс

Twig 2 end of life


📄 СТАТЬИ

🔹 Ускоряем PHPUnit Code Coverage с помощью PCOV

📄 PHP Fibers: практический пример

📄 Как мы планировали повысить версию PHP за месяц, а потратили на это год

📄 Почему тип поля enum на уровне базы — зло

📄 Уменьшаем количество багов в коде расширяя возможности статического PHP анализатора Psalm

📄 Технология передачи данных в секретный контур

📄 Интернет из PHP

📄 Неортодоксальный Eloquent Часть 1, Часть 2


🎬 ВИДЕО

🔹 PHP-линч #20

🔹 PHP-линч #21

🔹 Атрибуты в PHP

🔹 Typhoon 0.2.0


🗓 СОБЫТИЯ

🔹Podlodka PHP Crew, 16 – 20 октября



Ещё больше новостей и ссылок в сентябрьском выпуске PHP Annotated от JetBrains 💜

PHP-дайджест в видео формате на канале CutCode 🎬
Please open Telegram to view this post
VIEW IN TELEGRAM
Дайджест PHP – Октябрь 2023

Подборка свежих новостей, инструментов, видео и материалов из мира PHP. Приятного чтения!

⚡️ НОВОСТИ

🔹 Вышли PHP 8.1.25 и PHP 8.2.12

🔹 Вышел PHP 8.3.0RC5

🎂 Symfony исполнилось 18 лет

🛠 Открыта программа раннего доступа PhpStorm 2023.3


🐘 ЯДРО PHP

RFC: Increasing the default BCrypt cost

RFC: A new JIT implementation based on IR Framework

RFC: DOM HTML5 parsing and serialization

📣 RFC: Rounding Integers as int

📣 RFC: Unbundle ext/imap, ext/pspell, ext/oci8, and ext/PDO_OCI

📣 RFC: RFC1867 for non-POST HTTP

📣 RFC: Multibyte for trim function mb_trim, mb_ltrim and mb_rtrim

📣 RFC: Change the edge case of round()


🔴 LARAVEL

📄 Постановка задачи (Job) в очередь Laravel из хранимой процедуры или триггера PostgreSQL

📄 Persistent-request библиотека для надежных запросов

🎬 Директива Props в blade-компонентах

🎬 Обзор Livewire 3 и Volt

🎬 LazyCollections и PHP генераторы


🟢 YII

🔹 Yii Router Composer Attribute Collector

🔹 Yii Strings 2.3

🔹 Yii Auth 3.1

🎬 Инструменты обеспечения качества библиотек в PHP


📄 СТАТЬИ

📄 Code smells — обзор на примере PHP

📄 Какой длины должны быть классы — когда «чистый» код на самом деле не так уж и хорош


🎬 ВИДЕО

🔹 Разбираем срез знаний для "Хардкорного курса PHP"



Ещё больше новостей и ссылок в октябрьском выпуске PHP Annotated от JetBrains 💜

PHP-дайджест в видео формате на канале CutCode 🎬
Please open Telegram to view this post
VIEW IN TELEGRAM
Вышел PHP 8.3 🎉

PHP 8.3 — большое обновление языка PHP.

Оно содержит множество новых возможностей, таких как явная типизация констант классов, глубокое клонирование readonly-свойств, а также улучшения класса Randomizer.

Как всегда, в нём также улучшена производительность, исправлены ошибки и многое другое.

https://www.php.net/releases/8.3/ru.php
Дайджест PHP – Ноябрь 2023

Подборка свежих новостей, инструментов, видео и материалов из мира PHP. Приятного чтения!

⚡️ НОВОСТИ

🎬
Обзор нововведений PHP 8.3

⚠️
PHP 8.0 больше не получает обновления безопасности

🔹 Вышли PHP 8.1.26 and PHP 8.2.13

🎂 PHP Foundation исполнилось 2 года

🔹 Экосистема разработки в 2023 году


🐘 ЯДРО PHP

📣 RFC: Resource to object conversion

📣 RFC: Release cycle update

📣
RFC: Improve callbacks in ext/dom and ext/xsl

📣
RFC: Change how JIT is disabled by default

📣
RFC: Final anonymous classes

📣 RFC: Property Hooks


🔴 LARAVEL

🔹 Представлен Laravel Pulse

🔹 Вышел Tinkerwell 4

📄 MoonShine 2.0. Что нового?

📄 Альтернатива Nova: почему решили перейти с самописного решения на Orchid

📄 Сортировка в Laravel по полям relation-ов

🎬 Подробный гайд по Form Requests в Laravel

🎬 Разработка собственного драйвера Socialite


⚫️ SYMFONY

🔹 Вышли Symfony 6.4 и 7.0

📄 Symfony под капотом: Symfony Messenger и механизм повторной обработки сообщений при ошибках

📄 Типичный Swagger без гмо


🟢 YII

🔹 Yii Database 1.2

🔹 Yii Widget 2.1

🔹 Yii Config 1.4


📄 СТАТЬИ

📄 Безотказные очереди в RabbitMQ: Гарантированная доставка сообщений

📄 А был ли баг? Может бага и не было? Зачем, как и чем тестировать PHP код

📄 Что такое гексагональная архитектура. Разделение бизнес-логики и инфраструктуры с помощью портов и адаптеров

🔹 PSR и суффиксы для интерфейсов


🎬 ВИДЕО

🔹 RND PHP #6

🔹 Александр Макаров - «Следуй за мечтой»

🔹 LivePHP SPb Meetup #1


🎙 АУДИО

🔹 Сколько можно заработать на курсе по PHP?



Ещё больше новостей и ссылок в ноябрьском выпуске PHP Annotated от JetBrains 💜

PHP-дайджест в видео формате на канале CutCode 🎬
Please open Telegram to view this post
VIEW IN TELEGRAM
Дайджест PHP – Декабрь 2023

Подборка свежих новостей, инструментов, видео и материалов из мира PHP. Приятного чтения!

⚡️ НОВОСТИ

🔹 Вышли PHP 8.1.27, PHP 8.2.14 и PHP 8.3.1

🛠 Вышел PhpStorm 2023.3

🔹 Вышел Xdebug 3.3.0

🔹 Вышел FrankenPHP v1.0

🔹 Будущее PHP_CodeSniffer


🐘 ЯДРО PHP

📣 RFC: #[NotSerializable]

📣 RFC: Policy Repository

📊 RFC: Improve callbacks in ext/dom and ext/xsl

📣 RFC: Final anonymous classes

RFC: Change how JIT is disabled by default

🫣 new MyClass()->method() без скобок!

🔹New PECL is coming in 2024


🔴 LARAVEL

📄 Обзор LiveWire 3 и Volt

🎬 Реализация полиморфных комментариев и лайков на Livewire + Volt

🎬 Distributed Cron scheduling

🎬 Утилита Number в Laravel

🎬 MoonShine Screencasts


⚫️ SYMFONY

❗️Состоялся последний релиз Twig 2


🟢 YII

🔹 Yii DB Migration 1.0


📄 СТАТЬИ

📄 Выбираем подходящий PHP-фреймворк для проекта

📄 Создаём графический информер на PHP

📄 Недокументированная возможность в Phpstorm: нативная консоль php -a с автодополнением из IDE

📄 Версионная миграция структуры базы данных через PHP атрибуты


🎬 ВИДЕО

🔹 OpenSource как важный компонент экосистемы

🔹 PHP Community meetup: 4 доклада, апдейты PHP 8.3 и итоги года

🔹 Все про PHP attributes



Всех с наступающим Новым Годом 🎄

Ещё больше новостей и ссылок в декабрьском выпуске PHP Annotated от JetBrains 💜

PHP-дайджест в видео формате на канале CutCode 🎬
Please open Telegram to view this post
VIEW IN TELEGRAM
Дайджест PHP – Январь 2024

Подборка свежих новостей, инструментов, видео и материалов из мира PHP. Приятного чтения!

⚡️ НОВОСТИ

🔹 Вышли PHP 8.2.15 и PHP 8.3.2

🔹 The PHP Foundation Team Update 2024

🔹 Рейтинг TIOBE

🛠 Программа раннего доступа PhpStorm PhpStorm 2024.1


🐘 ЯДРО PHP

📣 RFC: Opt-in DOM spec-compliance

📣 Dedicated StreamBucket class

📣 RFC: Multibyte for ucfirst, lcfirst functions, mb_ucfirst mb_lcfirst

📣 RFC: Raising zero to the power of negative number

📣 RFC: Deprecate implicitly nullable parameter types

RFC: Improve callbacks in ext/dom and ext/xsl

RFC: Resource to object conversion

📊 RFC: Promote the PHP Foundation

📊 RFC: Final by default anonymous classes

📊 RFC: Policy Repository

📊 RFC: RFC1867 for non-POST HTTP verbs


🔴 LARAVEL

📄 Headless eCommerce на Laravel: Погружение в модульную архитектуру

📄 Изучение мидлварей в Laravel 11

📄 Профайлинг Laravel приложений с XDebug и PHPStorm

🎬 Laravel 11 под капотом. Что нового?


⚫️ SYMFONY

📄 Использование Symfony / PHP

📄 Использование Symfony / PHP (II)

📄 По локоть в легаси: пошагово перезапускаем устаревший портал на PHP


📄 СТАТЬИ

📄 Как защититься от «бестелесных» веб-шеллов

📄 Защита JPG-файлов от копирования с помощью Exif и IPTC-тегов

📄 MemSess — очередной сервер для работы с сессиями

📄 Разборка в Шторме

📄 Сравнение эффективности 20 языков программирования

📄 Построитель SQL запросов на основе мета-информации миграций БД


🎬 ВИДЕО

🔹 Обзор Laravel Octane, Roadrunner, FrankenPHP



Ещё больше новостей и ссылок в январском выпуске PHP Annotated от JetBrains 💜

PHP-дайджест в видео формате на канале CutCode 🎬
Please open Telegram to view this post
VIEW IN TELEGRAM
Дайджест PHP – Февраль-Март 2024

Подборка свежих новостей, инструментов, видео и материалов из мира PHP. Приятного чтения!

⚡️ НОВОСТИ

🔹 Вышли PHP 8.2.16 и PHP 8.3.3

❗️ Вышел Composer 2.7 с исправлением CVE-2024-24821

🔹 Итоги ежегодного опроса PHP-сообщества: результаты за 2023

🔹 Вышел Rector 1.0

🔹 Вышел PHPUnit 11


🐘 ЯДРО PHP

💬 Добро пожаловать в обсуждения PHP Foundation!

📊 RFC: Deprecate implicitly nullable parameter types

📣 RFC: Add OOP methods to Curl objects

📣 RFC: Property hooks

RFC: Final by default anonymous classes

RFC: Multibyte for ucfirst, lcfirst functions, mb_ucfirst mb_lcfirst

RFC: RFC1867 for non-POST HTTP verbs

RFC: Add http_(get|clear)_last_response_headers() function


🔴 LARAVEL

📄 Laravel трюки: автоматическое подключение каналов логирования

📄 Механизмы безопасности в Laravel

📄 Гудбай Pusher, привет Laravel Websockets

📄 Laravel 11. Что нового?

📄 Модификация JSON респонсов в Laravel

📄 Превращение событий PostgreSQL в события Laravel


⚫️ SYMFONY

📄 Logstash, Manticore, Nginx и Symfony: сбор, агрегация и быстрый поиск логов

📄 Как ошибки проектирования при разработке на Symfony могут привести к перерасходу ресурсов и замедлению работы системы


📄 СТАТЬИ

📄 Управление устройствами умного дома Яндекс своими скриптами

📄 Меняем моки репозиториев на in-memory реализации

📄 Как я писал свою библиотеку для работы с Telegram

📄 Улучшение кода без споров и цитирования известных практик

📄 Практический пример декомпозиции монолитного PHP приложения

📄 Как я обработал один миллиард строк в PHP

📄 Паттерн Aggregate Outside


🎬 ВИДЕО

🔹 PDO. Реализация Active Record

🔹 Всё о PSR. Обзор стандартов PSR

🔹 Публичное собеседование по алгоритмам Часть 1, Часть 2

🔹 LivePHP Meetup

🔹 Typhoon 0.3.0

🔹 Разбираем срез знаний для 3-его потока Хардкорного курса PHP

🔹 Конфигурируем Doctrine Schema без ORM



Ещё больше новостей и ссылок в новом выпуске PHP Annotated от JetBrains 💜

PHP-дайджест в видео формате на канале CutCode 🎬
Please open Telegram to view this post
VIEW IN TELEGRAM
«Своя игра» по PHP на канале CutCode

Вы можете задать сейчас вопросы участникам викторины.

Самые интересные вопросы будут разобраны на игре, а их авторы получат возможность поучаствовать в следующей игре и получить мерч!

🕛 13 марта в 19:00 (мск)

🔹 Александр Макаров
🔹 Кирилл Несмеянов
🔹 Адель Файзрахманов

🎬 https://www.youtube.com/watch?v=WNIAO0kEk7U
HTML Embed Code:
2024/04/18 18:43:55
Back to Top