uz
Feedback
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter

Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter

Kanalga Telegram’da o‘tish

Все самое полезное для пхпшника в одном канале. По рекламе: @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 698 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 11 598-o'rinni va Rossiya mintaqasida 61 274-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 10 698 obunachiga ega bo‘ldi.

05 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -34 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.28% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 9.13% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 1 637 marta ko‘riladi; birinchi sutkada odatda 978 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 11 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 07 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.

10 698
Obunachilar
-124 soatlar
-97 kunlar
-3430 kunlar
Postlar arxiv
📈 Почему память в PHP-воркерах только растёт — и это нормально Если вы переходите с PHP-FPM на RoadRunner, Laravel Queue или
📈 Почему память в PHP-воркерах только растёт — и это нормально Если вы переходите с PHP-FPM на RoadRunner, Laravel Queue или Symfony Messenger — вы увидите один и тот же эффект: Память растёт ступеньками и никогда не падает. 40 → 200 → 350 МБ… и так до перезапуска. Unset, GC, collect_cycles() — не помогают. Это не утечка. Это архитектура PHP. 🧬 Почему так происходит PHP использует Zend Memory Manager: он выделяет память крупными чанками (2–4 МБ) и не отдаёт их ОС назад, даже если внутри всё освобождено. Каждый пик — новый baseline. Обработали 100k записей → память выросла → процесс будет держать этот объём до конца жизни. 🔥 Что вызывает «разбухание» ORM ->all() или ->get() на десятки тысяч записей большой файл в file_get_contents() накопление массивов сложные eager-loading графы ORM 🛠 Как проектировать правильно ✔️ Стриминг вместо коллекций:
User::lazy()->each(fn($u) => processUser($u));
или:
Record::chunk(100, function ($rows) {
    foreach ($rows as $r) processRecord($r);
});
✔️ Doctrine:
foreach ($q->toIterable() as $u) {
    process($u);
    $em->detach($u);
}
✔️ Изоляция тяжёлых операций в функцию — память освобождается при выходе из scope. ✔️ Ротация воркеров — обязательна: Laravel:
php artisan queue:work --max-jobs=1000
RoadRunner:
pool:
  max_jobs: 1000
Messenger:
messenger:consume --limit=1000
📌 Выводы 🔸 Память в долгоживущем PHP-процессе не уменьшится сама по себе. 🔸 Проектируйте под пиковое потребление. 🔸Используйте стриминг, чанки, detach(). 🔸 Регулярно перезапускайте воркеры. 🔗 Medium 🐸 Библиотека пхпшника

💡Совет по Laravel: Привязка моделей в Form Request Привязка моделей к маршрутам позволяет вставлять экземпляры моделей непос
💡Совет по Laravel: Привязка моделей в Form Request Привязка моделей к маршрутам позволяет вставлять экземпляры моделей непосредственно в маршруты. Обычно она используется в контроллере, но знаете ли вы, что можно получить доступ к экземпляру модели и в запросе формы? Библиотека пхпшника #vardump

💻 Подборка новостей по PHP за неделю:​ 🔹 Laravel 12.40.2 — очередь теперь можно приостанавливать на заданное число секунд.
💻 Подборка новостей по PHP за неделю:​ 🔹 Laravel 12.40.2 — очередь теперь можно приостанавливать на заданное число секунд. Это развитие функции из 12.40, где появилась возможность ставить очередь на паузу и возобновлять её без ограничения по времени. 🔹 Mailviews (Early Access) — запущен ранний доступ к инструменту для создания адаптивных, стабильных e-mail-шаблонов без мучительной ручной верстки и бесконечных проверок в разных клиентах. 🔹 Symfony 7.4.0 — релиз новой стабильной версии с заметными улучшениями. В серии «New in Symfony 7.4» доступны разборы ключевых возможностей. 🔹 Symfony 24–30 ноября — выпущены финальные Symfony 7.4.0 и 8.0.0. Прошла SymfonyCon Amsterdam 2025, опубликованы Black Friday-скидки экосистемы. Библиотека пхпшника #свежак

💬 Ежемесячная ветка PHP-разработчиков — декабрьское обновление Продолжаем традицию — открываем новую декабрьскую ветку 👇 Что можно приносить сюда сейчас: 🧩 свежие фрагменты кода, которые вызывают вопросы или гордость 🔍 кейсы из продакшена: узкие места, memory leaks, странности с очередями 🛠️ pet-projects, библиотеки, пакеты: покажите, что сделали за месяц 🧠 вопросы по DDD, микросервисам, тестированию, CI/CD ⚙️ опыт миграции на PHP 8.3/8.4, проблемы совместимости, нюансы производительности Вы можете прийти с сырым прототипом или сложной продакшен-архитектурой — здесь всегда найдётся человек, который подскажет, куда копать. Пусть эта ветка остаётся местом для профессионального диалога, где ценят практику, инженерное мышление и точные решения ❤️ 👇 Делитесь вашими обновлениями, задачами и победами за последний месяц! Библиотека пхпшника

PHP жив, а твоя карьера? Шутка. PHP будет жить вечно. Но расширять кругозор полезно всегда. Математика и ML — это то, что отл
PHP жив, а твоя карьера? Шутка. PHP будет жить вечно. Но расширять кругозор полезно всегда. Математика и ML — это то, что отличает инженера от кодера. Залетай на наш курс с живыми вебинарами. Мы объясняем сложные вещи просто. Что будет: — Матрицы и векторы (это как массивы, только с суперсилой); — Линейная регрессия (научимся предсказывать данные); — SVD-разложение (сделаем свою рекомендалку). Практика на Python, но математика везде одинаковая. Успевай до 9 декабря: 👉 https://clc.to/LojFzw

💬Знаете ли вы, что вы можете использовать scan в Laravel для разбора строки, введенной в коллекцию, в соответствии с формато
💬Знаете ли вы, что вы можете использовать scan в Laravel для разбора строки, введенной в коллекцию, в соответствии с форматом, поддерживаемым встроенной функцией PHP sscanf? 🚀 Библиотека пхпшника #vardump

🤖 ChatGPT выключен, а работа идёт как обычно В мире разработки всё чаще говорят про AI, который помогает писать код быстрее
🤖 ChatGPT выключен, а работа идёт как обычно В мире разработки всё чаще говорят про AI, который помогает писать код быстрее и качественнее. Однако, встречаются примеры, когда выключение Copilot не приводит к заметным потерям в работе. Возможно, скиллы и понимание задач дают больше, чем автодополнение от AI. 💬 Как думаете не отвлекают ли эти ИИ? Или всё-таки с ними куда лучше? 🔸 AI-агенты для DS-специалистов 🔸 Получить консультацию менеджера 🔸 Сайт Академии 🔸 Сайт Proglib 🐸 Библиотека пхпшника

🧠 Лайфхак: кешируйте config и routes в Laravel для максимальной скорости ⚙️ Что даёт кеширование 🔄 При кешировании конфигурации — все файлы из config/.env) объединяются в один — Laravel не читает и не парсит множество отдельных файлов при каждом запросе. 🚀 При кешировании маршрутов — все определения роутов компилируются в один файл. При запросе Laravel сразу загружает этот кеш, вместо повторного парсинга маршрутов. Это значительно снижает накладные расходы на загрузку конфигураций и роутов, ускоряя старт приложения и уменьшая время обработки запросов. 🧰 Как включить кеш
php artisan config:cache #кеширует конфигурацию

php artisan route:cache #кеширует маршруты
Если вы внесли изменения в конфиги или роуты — перед новым запуском надо очистить и пересоздать кеш:


php artisan config:clear
php artisan route:clear
И потом снова:

php artisan config:cache
php artisan route:cache
✅ Когда это разумно использовать - ✅ В production или staging-средах, когда структура проекта стабильна, конфиги и маршруты уже настроены. - ✅ В проектах с большим количеством конфигураций и маршрутов — там выигрыш по скорости особенно заметен. ⚠️ На что нужно обратить внимание - ❗ Если вы используете closure-роуты (анонимные функции) — кеш маршрутов не будет работать корректно. Для кеша маршрутов нужно, чтобы все роуты были описаны через контроллеры. - ❗ После изменений в конфигурациях или .env — не забудьте пересоздать кеш: иначе Laravel может продолжить использовать старые значения. - ⚙️ В рабочем (dev) окружении: кеш может мешать быстрому тестированию изменений, поэтому часто кеш отключают на время разработки. 🔄 Как включить кеширование в процесс деплоя / CI/CD - Добавьте команды config:cache и route:cache в скрипт деплоя — при выкладке на production они будут выполняться автоматически. - После деплоя — проверьте, что кеш актуален, особенно если были изменения конфигов или роутов Библиотека пхпшника

Сбор и отправка APM-трейсов из разных сервисов В больших продуктах архитектура редко бывает однородной. У Sports.ru за 25+ лет под капотом оказались десятки Go-микросервисов рядом с крупными Perl- и PHP-монолитами. Всё это нужно мониторить, искать узкие места, собирать метрики — и делать это стабильно. Официальных APM-агентов хватает не для всех языков, а существующие для PHP/Perl оказались слишком ограниченными. Поэтому команда решила построить собственный APM-прокси — единый сервис для сбора, буферизации и отправки трейсов. Разбираем, зачем он понадобился и как устроен. 🧩 Проблема: разные агенты → разные ограничения Elastic APM даёт мощный трейсинг, но: Go-агент умеет батчить события в фоне — очередь, буфер, воркеры. PHP-агент живёт только в рамках запроса. Один запрос = одна отправка → тысячи мелких HTTP-пакетов → нагрузка на APM-сервер. Perl-агента нет вообще — монолит остаётся слепым. В PHP и Perl невозможно получить внутренние метрики агента: переполнение очередей, потерянные события, время отправки. Поддерживать кастомные агенты под каждый язык стало дорого и непрозрачно. Требовался единый, прогнозируемый механизм. 🚀 Решение: APM-прокси как универсальная точка сбора Команда спроектировала отдельный сервис apm-sender на Go: принимает NDJSON-пейлоады от любых клиентов (монолиты/микросервисы); валидирует и складывает их в канал; отвечает клиенту сразу — без ожидания обработки; в фоне батчит и отправляет данные в APM-сервер. Это дало главное: клиентские сервисы больше не занимаются отправкой, очередями и оптимизацией трафика — логика вынесена в один компонент. ⚙️ Что внутри: каналы, воркеры и Circuit Breaker 1) Два уровня воркеров Первый канал всегда доступен для записи — нагрузка клиентов не блокируется. Второй канал — накопитель, откуда воркеры отправляют данные в APM. 2) Circuit Breaker Когда APM-сервер начинает тормозить или отвечает ошибками: отправка автоматически блокируется на несколько секунд; сообщения копятся в буфере; сервер «прощупывается» периодически; когда он оклемался — отправка возобновляется. Так прокси не штурмует APM-сервер лишними запросами и не теряет трейсы. 📊 Метрики и контроль APM-прокси собирает то, чего не умели агенты Perl/PHP: 🔸 размер буфера; 🔸 время блокировок; 🔸 объём входящего/исходящего трафика; 🔸 статистику ошибок APM-сервера; 🔸 нагрузку в разрезе клиентов. Это позволило: найти клиентов, отправлявших гигантские payload’ы с лишними спанами; оптимально настроить воркеры и размеры буферов; корректно сконфигурировать сам APM-сервер. 🏁 Результат После переключения монолитов и сервисов на APM-прокси: отправка трейсов стала стабильной и управляемой; нагрузка на APM-сервер снизилась и стала прогнозируемой; исчезла необходимость поддерживать разрозненные агенты; появилось единое место для анализа, расширения и оптимизации трейсинга; команда получила прозрачность потоков и быстро нашла проблемы, которые раньше были невидимы. 🔗 Хабр Библиотека пхпшника

PHP и нейросети? Почему бы и нет! Мир меняется. Сегодня бэкендер, который может внедрить рекомендательную систему или простой
PHP и нейросети? Почему бы и нет! Мир меняется. Сегодня бэкендер, который может внедрить рекомендательную систему или простой ML-сервис, — на вес золота. Не ограничивайте себя CRUD-задачами. Завтра запускаем курс «Математика для разработки AI-моделей». Всего за 28 200 ₽ вы получите ключи к пониманию того, как работает AI. Сделайте апгрейд карьеры: 👉 Записаться Бонус: Пройди тест и удивись

⌨️ Топ-вакансий по PHP за неделю Senior PHP Developer — до 5 500 €, Удалёнка (Москва) Backend-разработчик (PHP) — от 200 000 ₽, Удаленка (Москва) Full-stack PHP Laravel developer / Web-программист — от 200 000 ₽, Удалёнка (Москва) PHP разработчик Middle / Senior — Удалёнка (Москва) ➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs

How to: настроить PHP max_execution_time для предотвращения таймаутов Если PHP-скрипт работает дольше установленного лимита,
How to: настроить PHP max_execution_time для предотвращения таймаутов Если PHP-скрипт работает дольше установленного лимита, сервер прерывает выполнение и выдаёт ошибку. За этот таймер отвечает параметр max_execution_time — по умолчанию 30 секунд. Лимит стоит увеличивать, если вы: — импортируете большие данные — обрабатываете изображения или видео — запускаете тяжёлые cron-задачи — делаете резервные копии Самый простой способ изменить значение — через ServerAvatar: Откройте Dashboard сервера Перейдите в нужное приложение Откройте PHP Settings Измените max_execution_time и сохраните настройки Изменения применяются сразу — без SSH и ручной правки php.ini. 👉 Полная инструкция Библиотека пхпшника

#байтовый_юмор
#байтовый_юмор

🚀 Сегодня разбираем библиотеку Claude‑PHP‑SDK — универсальный PHP SDK для работы с API Anthropic (модель Claude) с полной ре
🚀 Сегодня разбираем библиотеку Claude‑PHP‑SDK — универсальный PHP SDK для работы с API Anthropic (модель Claude) с полной реализацией функционала официального Python-SDK. 🧱 Что это такое Поддерживает полный 1-к-1 функционал официальной Python-библиотеки: работа с «Messages», «Files», «Batches», «Models».  Код соответствует стандартам PSR-12 + использует PSR-11 (внедрение зависимостей) — значит, хорошо ложится в современные PHP-фреймворки. Фреймворк-независим: можно использовать в Laravel, Symfony, Slim и других. ✅ Что умеет Поддержка моделей: Claude Sonnet 4.5, Haiku 4.5, Opus 4.1. Расширенные функции: vision (анализ изображений), стриминг, batch-обработка, embeddings, tool-use (инструменты) и «extended thinking».  Асинхронная готовность с поддержкой Amphp. Большое количество примеров: более 80 файлов, >11 000 строк покрывают документацию Claude-API. ⚠️ На что обратить внимание 🔸 Установка: composer require claude-php/claude-php-sdk. 🔸 Взаимодействие с бета-функциями: есть раздел, как работать с бетами (например, output_format, beta() namespace) — важно при использовании новых возможностей. 🔸 Необходимо настроить корректно: ключ API, таймауты, повторные попытки — всё описано в README.  🔸 Библиотека выглядит стабильной, но как и с любым SDK для LLM/AI-API — важно тестировать на продакшене с учётом лимитов, ошибок сети и стоимости токенов. 🔗 Github 🐸 Библиотека пхпшника #инструменты

Saloon vs Guzzle vs Laravel HTTP Client vs SDK-решения 🧩 Saloon «Фреймворк» для построения API-интеграций и SDK внутри PHP / Laravel-приложений. ➕ Сильные стороны: ✨ Структура: выделенные классы Connector и Request позволяют логично организовать код. 🚀 Богатый набор функций: кеширование, пагинация, повторы запросов, тест-фикстуры. 📚 Отлично подходит, если интеграций много и они развиваются — нужен читаемый, расширяемый слой. ➖ Ограничения: ⚙️ Дополнительный уровень абстракции: может быть избыточен для простых случаев. 🧠 Требует привыкания к концепциям Connector/Request. 📦 Новая зависимость — нужно следить за обновлениями и совместимостью. 🧱 Guzzle Классическая библиотека-HTTP-клиент PHP. ➕ Сильные стороны: 🔧 Очень гибкая: прямой контроль над HTTP-запросами, поддержка асинхронности. 🧮 Минимум обёрток: чистый доступ к HTTP-уровню. ➖ Ограничения: 🧩 Не столь читаема при большом количестве интеграций — код становится «сырой». 🧪 Нет встроенной структуры для интеграций и тестирования сверху — требует дисциплины. 🎯 Laravel HTTP Client (Facade) Обёртка над Guzzle от Laravel, ориентированная на удобство. ➕ Сильные стороны: ✅ Очень прост в использовании: читаемый код, удобные методы. 🧪 Отличные инструменты для тестов: легко подменять вызовы и «подслушивать» HTTP-запросы. 🛠️ Быстрая точка входа для API-запросов. ➖ Ограничения: 🔎 Меньше встроенной архитектуры для масштабных интеграций. 📉 При расширении проекта могут понадобиться дополнительные решения. 📦 SDK стороннего сервиса Готовое решение-обёртка над API, предоставляемое сервисом. ➕ Сильные стороны: ⚡ Высокая скорость реализации: всё почти готово. 👍 Возможно хорошая поддержка и обновления. ➖ Ограничения: 🧨 Зависимость от качества SDK: риск, если поддержка слабая. 🧩 Немного пространства для кастомизации — архитектура может требовать другого подхода. 🤔 Может быть «чёрным ящиком», который сложнее отлаживать. 📌 Итого: какой вариант выбрать? 🟢 Интеграция простая — один-два запроса, без сложной логики: выбирайте Laravel HTTP Client или Guzzle. 🟢 Интеграции растут, логика становится сложной, нужны тесты, кеширование, пагинация — тогда Saloon даст структуру и безопасность. 🟢 Сервис предоставляет качественный SDK — разумно им воспользоваться, но оборачивайте его за интерфейсом, чтобы не оказаться заложником. 🔴 И никогда не стоит делать всё через raw cURL без обёртки: код быстро превращается в хаос, тестирование становится трудоёмким. Библиотека пхпшника #элементарный_выбор