Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
Все самое полезное для пхпшника в одном канале. По рекламе: @proglib_adv Учиться у нас: clc.to/M561SQ Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Больше📈 Аналитический обзор Telegram-канала Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
Канал Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter (@phpproglib) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 10 511 подписчиков, занимая 11 307 место в категории Технологии и приложения и 60 528 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 10 511 подписчиков.
Согласно последним данным от 29 августа, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -72, а за последние 24 часа — -7, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 19.83%. В первые 24 часа после публикации контент обычно набирает 9.56% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 2 084 просмотров. В течение первых суток публикация набирает 1 005 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 15.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как php, laravel, пхпшника, artisan, api.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“Все самое полезное для пхпшника в одном канале.
По рекламе: @proglib_adv
Учиться у нас: clc.to/M561SQ
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b”
Благодаря высокой частоте обновлений (последние данные получены 30 августа, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
static в замыкании? Да — и вот почему
На первый взгляд, совет заменить обычную анонимную функцию на static в array_map может показаться чисто стилевым. Но за этой рекомендацией скрывается реальный прирост производительности. ⚡
📌 Что происходит:
– static-замыкания не привязаны к $this, а значит, не тащат за собой контекст объекта
– Это позволяет PHP быстрее освобождать память
– И в ряде случаев — существенно ускоряет выполнение кода
💡 Один из PR'ов в Ocramius/GeneratedHydrator показал: просто добавив static, удалось добиться ~15% ускорения. А бенчмарки дали ещё более радикальную разницу:
benchUsingStaticKeyword → 2.10MB / 3.70ms
benchNotUsingStaticKeyword → 71.30MB / 17.17ms
📉 Минус 30x по памяти, минус 4x по времени.
Чтобы внедрить это на постоянной основе, удобно использовать Rector с правилами StaticClosureRector и StaticArrowFunctionRector. Так все замыкания, где не используется $this, становятся static автоматически. 🛠️
✅ Быстрее
✅ Меньше памяти
✅ Автоматическая проверка в CI
👉 Читать статьюvendor/, node_modules/ и т.п.), PhpStorm может тормозить из-за длительной индексации.
✅ Простое решение: кликните папку → Mark Directory as → Excluded.
🚀 После этого IDE быстрее работает, особенно при автокомплите и поиске по проекту.
Попробуйте — в крупных проектах сразу почувствуете разницу!
Библиотека пхпшника #бустmatch в проде, кто-то на дух не переносит Service-суффиксы в названиях.
А может, у вас спор был из-за static методов, facade-ов или неправильного DI?
Поделитесь:
• Из-за чего начался спор?
• Кто в итоге «победил»?
• Как теперь пишете код?
💬 Интересно собрать реальные кейсы — и заодно понять, где граница между чистым кодом и субъективщиной.
Библиотека пхпшника #междусобойчикgit notes add. Эти заметки хранятся в отдельной ветке notes/commits и могут быть сгруппированы по категориям через флаг --ref. Например, можно создать разные типы заметок для одного и того же коммита — заметки, связанные с проверкой качества или тестированием кода.
Функционал Git Notes особенно полезен в таких случаях, как хранение обсуждений и комментариев к pull request'ам (PR). В проекте Symfony используют специальный инструмент для объединения веток, который автоматически сохраняет комментарии из GitHub в виде заметок Git Notes. Эти комментарии прикрепляются к коммитам, что позволяет отслеживать обсуждения даже после смены платформы или удаления исходного PR. Таким образом, при необходимости можно получить доступ к обсуждению, сохранив его вместе с кодом.
Для того чтобы просмотреть или извлечь эти заметки, можно использовать команду git log --notes или настраивать git fetch, чтобы автоматически загружать заметки с сервера.
👉 Читать статью
Библиотека пхпшникаНапиши функцию на PHP, которая преобразует JSON-объект с полями [Ваш JSON] в [Ваш формат]. Функция должна корректно обрабатывать ошибки парсинга JSON, возвращая либо строку, где произошла ошибка, либо ошибку.👇 JSONо-укладчики «+» в чат 🐸Библиотека пхпшника #буст
mongodb уже встроено)
🔥 Фишка: можно подключить MongoDB Atlas в пару шагов — просто скопируйте строку подключения, добавьте переменную окружения, и всё взлетит после redeploy.
⏱️ Пример из статьи: первое успешное развёртывание — за 49 секунд.
🔗 Полный гайд: от подключения репозитория до настройки секрета MONGODB_URL. Скриншоты, логи, возможные ошибки и как их обойти — всё на месте.
📍 Идеально подойдёт тем, кто:
— хочет быстрый прод для pet-проекта
— устал руками разворачивать сервераgetByThisAndThat(), код становится тяжёлым и неудобным. В таких случаях часто вспоминают паттерн Specification — особенно после хвалебных отзывов на собеседованиях.
Но помогает ли он на практике?
🧱 Что такое «Спецификация»?
Идея проста: вынести логику критериев выборки в отдельные классы, чтобы не засорять бизнес-логику и модель.
Пример из оригинала (Фаулер): решаем, в какой контейнер положить груз — не через ифы, а через метод isSatisfiedBy().
📦 Варианты спецификаций:
Hardcoded — простые классы с жёсткими условиями.
Параметрируемые — с конфигурацией через свойства.
Композитные — объединяют другие спецификации и поддерживают AND/OR/NOT.
💡 Как это выглядит в реальной системе?
Пример из продакшена: программа лояльности, раздача карт клиентам по гибким правилам.
Каждая стратегия начислений генерирует свою спецификацию, которая используется при выборке клиентов для выдачи карт.
Пример кода:
$specification = $loyaltyProgram->createInitialCardIssuingSpecification();
$cards = $cardRepository->findAllBySpecification($specification);
При этом, за фасадом — сложная и кастомная реализация, где каждая спецификация превращается в SQL-запрос, в том числе с поддержкой bulk insert и пагинации.
⚠️ Где ловушка?
Когда спецификации усложняются, репозитории превращаются в мешанину match, if, IS NULL, кастомных условий и бэкфлипов.
🧩 Выводы:
✔️ Использовать, если нужно чётко отделить бизнес-логику от инфраструктуры.
❌ Не использовать как «универсальный антидот» от методов getByXAndY() в репозиториях.
🧼 Иногда проще честно написать findByDateAndStatus().
🔁 Ключевая идея — спецификация — это не про репозиторий, а про знание. Описание того, что значит «подходит». И оно может жить в домене, даже если не содержит SQL.
А вы используете этот паттерн у себя? Или предпочитаете оставаться на стороне простых методов?
🔗 Хабр
Библиотека пхпшникаSingleton и Scoped для контейнера, метод query builder для проверки значений между двумя колонками, строгая валидация чисел и булевых значений.
🔹 Symfony 21–27 июля — активная подготовка к релизам Symfony 7.4 и 8.0: добавлен ObjectMapperAwareInterface, улучшены JsonStreamer и AssetMapper, удалены устаревшие фичи, включая автоматическое отображение Doctrine entity.
🔹 PHP 8.5.0 Alpha 2 — вышла вторая альфа-версия, приглашают к тестированию.
🔹 Livewire уязвимость (CVE-2025-54068) — версии до 3.6.3 уязвимы к удалённому выполнению команд через обновление свойств компонента. Обновитесь немедленно.
🔹 Symfony AI — новые компоненты для интеграции AI в PHP-приложения, от низкоуровневых библиотек до бандлов.
Библиотека пхпшника #свежакOh My Zsh, становится еще проще:
— автокомплит команд по истории (как в IDE)
— подсветка синтаксиса прямо в консоли
— алиасы: gl вместо git pull, ci вместо composer install, и так далее
— темы вроде powerlevel10k: кастомизация отображения веток, путей, статуса команд
А главное — вся эта магия работает из коробки, стоит лишь включить нужные плагины и чуть поднастроить .zshrc.
👉 ХабрАсинхронность на уровне ядра: встроенная поддержка async/await упростит написание многозадачного кода. Расширенный стандарт утилит: Больше array_*, инструменты инспекции, удобная дебага🐸Библиотека пхпшника #междусобойчик
$result = trim(str_shuffle(strtoupper("Hello World")));
Или ещё хуже — с кучей временных переменных:
$result = "Hello World";
$result = strtoupper($result);
$result = str_shuffle($result);
$result = trim($result);
Теперь:
$result = strtoupper("Hello World")
|> str_shuffle(...)
|> trim(...);
Каждая операция читается как шаг рецепта — слева направо. Код становится декларативным, не запутанным и без временных переменных.
🎯 Реальный пример: обработка email'а с формы
$result = $_REQUEST['email']
|> fn($e) => strtolower($e)
|> fn($e) => filter_var($e, FILTER_VALIDATE_EMAIL)
|> fn($e) => sendEmail($e, "Welcome!");
echo $result ? "Sent!" : "Error";
🔥 Минимум шума, максимум сути.
Pipe — мелкая синтаксическая штука, но она делает код ближе к тому, как вы мыслите.
С PHP 8.5 пишем как люди.
🐸Библиотека пхпшника