Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
Все самое полезное для пхпшника в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/bca892d6 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Ko'proq ko'rsatish📈 Telegram kanali Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter analitikasi
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter (@phpproglib) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 10 699 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 11 606-o'rinni va Rossiya mintaqasida 61 369-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 10 699 obunachiga ega bo‘ldi.
08 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -44 ga, so‘nggi 24 soatda esa 1 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 15.35% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 8.83% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 1 642 marta ko‘riladi; birinchi sutkada odatda 945 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 10 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent php, laravel, пхпшника, artisan, api kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Все самое полезное для пхпшника в одном канале.
По рекламе: @proglib_adv
Учиться у нас: https://proglib.io/w/bca892d6
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 09 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
curl -sLO https://github.com/gordalina/cachetool/releases/latest/download/cachetool.phar
chmod +x cachetool.phar
Сброс кэша:
php cachetool.phar opcache:reset
В случае использования других сокетов или IP-адресов и портов, команда выглядит так:
php cachetool.phar opcache:reset --fcgi=/var/run/php/php8.2-fpm-profiler.sockstr()), приходилось использовать pipe() с анонимной функцией — это разрывало читаемость кода.
Теперь Laravel поддерживает методы encrypt() и decrypt() прямо в цепочках, что позволяет:
🔹 Не выходить из fluent-интерфейса;
🔹 Поддерживать читаемость;
🔹 Использовать уже настроенные параметры шифрования (cipher, key) приложения.
Также показан реальный кейс: генерация и расшифровка идентификаторов документов, где важно:
🔸 зашифровать строку с нужным форматированием (дата, департамент и ID);
🔸 сохранить длину и читаемость;
🔸 безопасно расшифровывать обратно.
⚡ Ключевая идея: теперь можно удобно и безопасно обрабатывать чувствительные данные (настройки, токены, ID и пр.) прямо внутри str()-цепочек без лишнего кода.
🔗 Читать статью
Библиотека пхпшника #буст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.
А вы используете этот паттерн у себя? Или предпочитаете оставаться на стороне простых методов?
🔗 Хабр
Библиотека пхпшника
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
