en
Feedback

Don't get caught by a cheater! Telemetrio finds and tags such channels 👉 If you want to see the tag, subscribe

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

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

Open in Telegram

Все самое полезное для пхпшника в одном канале. По рекламе: @tproger_sales_bot Учиться у нас: clc.to/M561SQ Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b

Show more

📈 Analytical overview of Telegram channel Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter

Channel Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter (@phpproglib) in the Russian language segment is an active participant. Currently, the community unites 10 461 subscribers, ranking 11 698 in the Technologies & Applications category and 60 802 in the Russia region.

📊 Audience metrics and dynamics

Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 10 461 subscribers.

According to the latest data from 26 October, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -35 over the last 30 days and by -5 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 16.11%. Within the first 24 hours after publication, content typically collects 7.39% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 1 685 views. Within the first day, a publication typically gains 773 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 2.
  • Thematic interests: Content is focused on key topics such as php, laravel, пхпшника, artisan, api.

📝 Description and content policy

The author describes the resource as a platform for expressing subjective opinions:
“Все самое полезное для пхпшника в одном канале. По рекламе: @tproger_sales_bot Учиться у нас: clc.to/M561SQ Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b”

Thanks to the high frequency of updates (latest data received on 27 October, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.

10 461
Subscribers
-524 hours
-237 days
-3530 days
Posts Archive
PHP 8.6 вышла на финишную прямую 🚀 Июль оказался насыщенным для PHP 8.6: команда выпустила сразу три тестовые версии — Alpha
PHP 8.6 вышла на финишную прямую 🚀 Июль оказался насыщенным для PHP 8.6: команда выпустила сразу три тестовые версии — Alpha 1, Alpha 2 и Alpha 3. Следующий этап — Beta 1, которая запланирована на 13 августа. После перехода к бета-версии список новых возможностей, как правило, уже сформирован. Дальше основное внимание уделяется исправлению ошибок, совместимости и подготовке к стабильному релизу.
Финальный релиз PHP 8.6 ожидается 19 ноября 2026 года.
Если вы поддерживаете библиотеку, фреймворк или крупное приложение, сейчас хорошее время добавить PHP 8.6 в CI отдельной задачей и прогнать тесты. Найти несовместимость за несколько месяцев до релиза намного проще, чем после выхода стабильной версии. Библиотека пхпшника

👀 Хуки свойств в PHP В PHP 8.4 появилась долгожданная возможность — хуки свойств. Это встроенная логика чтения и записи значения прямо в объявлении свойства. Без отдельных методов, без шаблонных getSomething() и setSomething(). Код становится компактнее, выразительнее и проще для сопровождения. 🔹 В чём была проблема До этого было всего два варианта: — классический подход с приватными полями и методами доступа; — promoted-properties из конструктора — удобно, но без логики. У обоих подходов есть ряд минусов: — негде аккуратно разместить валидацию; — сложно добавить логирование изменений; — неудобно реализовать ленивые вычисления; — класс быстро разрастался вспомогательными методами. 🔹 Что изменилось с хуками Теперь PHP позволяет перехватывать: → момент чтения свойства; → момент записи значения. При этом снаружи используется привычный доступ к свойству, внутри — чётко определённое место для логики и в одном классе можно сочетать обычные свойства и свойства с хуками. 🔹 Виртуальные свойства PHP 8.4 позволяет создавать свойства без собственного хранилища. Такие свойства: → не занимают память; → вычисляются при каждом обращении; → выступают как интерфейс к другим данным объекта. Полезно для: объединённых представлений данных, вычисляемых значений, и упрощения публичного API модели. ⚠️ Важные ограничения — хуки несовместимы с readonly-свойствами; — изменение по ссылке может обойти логику записи; — не все внутренние функции PHP вызывают хуки одинаково. 🔗 Хабр Библиотека пхпшника

😱 Знакомо? Лимит уже закончился, а задача всё ещё не готова. Часть токенов могла уйти на повторное чтение файлов, лишний кон
😱 Знакомо? Лимит уже закончился, а задача всё ещё не готова. Часть токенов могла уйти на повторное чтение файлов, лишний контекст и неудачные попытки. ⚡️ Этому посвящён отдельный блок курса «ИИ для разработчиков». Вы разберёте расходы на собственных проектах, сравните подходы и найдёте места, где агент выполняет лишнюю работу.
В итоге станет понятнее, сколько ресурсов выделять на запуск, когда его останавливать и в какой момент лучше изменить подход 🔍
До 31 июля курс можно купить со скидкой, а все материалы останутся в бессрочном доступе. 🔗 Узнать подробности о курсе 🏃‍♀️ Proglib Academy

Куда на самом деле уходят токены во время агентного кодинга? ⚡️

🧹 Git-команда, которая спасёт ваш репозиторий от мусора Проблема: вы удалили ветки, сделали git reset, отменили мёржи, но репозиторий почему-то весит всё больше. git clone на новом месте занимает вечность. Куда уходит место? Дело в том, что Git — барахольщик. Он хранит все объекты: старые блобы, недостижимые коммиты, забытые stash'ы. Даже то, что вам давно не нужно. 💡 Решение: git gc и его старший брат git gc --aggressive Рассмотрим все все возможности git gc. 1️⃣ Сколько мусора накопилось
git count-objects -vH
Обратите внимание на size-pack — это реальный вес вашего репо. 2️⃣ Самые тяжёлые объекты в истории
git rev-list --objects --all \
  | git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' \
  | awk '/^blob/ {print $3, $4}' \
  | sort -rn \
  | head -10
Часто находятся артефакты сборки, дампы БД или случайно закоммиченные .jar на 200 МБ 😬 3️⃣ Запустите агрессивную сборку мусора
git gc --aggressive --prune=now
--aggressive заставляет Git перепаковать объекты с нуля, а --prune=now удаляет недостижимые объекты немедленно, не дожидаясь дефолтных двух недель. 4️⃣ Сравните результат
git count-objects -vH
На живых проектах с историей в 2+ года разница бывает в разы. ⚠️ --prune=now безвозвратно удалит объекты, на которые нет ссылок. Если вы планировали восстановить что-то через git reflog — сделайте это до запуска.

🔍 Лови каждый SQL-запрос в Laravel Через DB::listen() можно перехватить каждый запрос вместе с биндингами и временем выполнения:
DB::listen(function (QueryExecuted $query) {
    dump($query->sql);      // select * from `users` where `id` = ? limit 1
    dump($query->bindings); // [0 => 1]
    dump($query->time);     // 6.05 (ms)
});
По сути, это не только про дебаг. Можно слать алерт в Slack, если запрос тормозит дольше порога. А для полного лога сессии есть связка DB::enableQueryLog() + DB::getRawQueryLog(). Библиотека пхпшника

😳 Documentation Driven Development звучит как ещё один модный термин. Пока не попробуешь объяснить свой проект AI. Агент раб
😳 Documentation Driven Development звучит как ещё один модный термин. Пока не попробуешь объяснить свой проект AI. Агент работает только с тем контекстом, который ему дали. Если документация неполная или устарела, он начинает додумывать — отсюда появляется неверный код. 🔘 На курсе «ИИ для разработчиков» эту тему разбирает Арсений Харланов. Он покажет, как подготовить документацию и контекст, чтобы агент понимал архитектуру проекта, ограничения и связи между компонентами. Также разберём, как выбирать модель под задачу: Claude, DeepSeek, Qwen и другие ✏️
Впереди 7 недель работы со своим репозиторием. Вебинары проходят вживую и остаются в записи.
Стартуем 31 августа. До конца июля можно присоединиться по ранней цене, а доступ к материалам останется бессрочным 😀 🔗 Посмотреть, что будет на курсе 🏃‍♀️ Proglib Academy

🤨 Документация давно перестала быть формальностью. Особенно когда проект нужно объяснить кому-то ещё 👇

🤢 Чем больше разработчиков в команде начинают пользоваться Claude Code, тем заметнее одна проблема: кодовая база перестаёт в
🤢 Чем больше разработчиков в команде начинают пользоваться Claude Code, тем заметнее одна проблема: кодовая база перестаёт выглядеть как работа одной команды. Где-то есть тесты, где-то их забыли. Где-то агент следует архитектуре проекта, где-то предлагает решение, которое с ней не сочетается. ⚠️ И это не проблема Claude Code. Он просто следует тому контексту, который получает от каждого разработчика. Сегодня покажем, как передать AI инженерный контекст команды и не превратить его внедрение в ещё один источник хаоса. 🗓 23 июля, 19:00 МСК Бесплатно. 60 минут доклада + 30 минут вопросов. 🔗 Занять место на вебинаре и разобраться, почему так происходит 🏃‍♀️ Proglib Academy

Хороший разбор для тех, кто уже использует Claude Code в команде или только собирается его внедрять 🔥

❓ Как правильно определять границы сервисов в микросервисах? Один из недооценённых скиллов в разработке — это умение провести правильную границу между сервисами. Большинство «распределённых монолитов», которые мы встречаем в продакшене, рождаются именно здесь. Разобрали тему — держи шпаргалку 👇 🔹 Что такое Service Boundary Это контракт на три вещи: — за что сервис отвечает; — какими данными он владеет; — как он общается с соседями. Пример: в компании HR не лезет в финансы, а склад не занимается зарплатами. Так же должны работать твои сервисы. 🔹 4 принципа, которые работают 1. Business Capability First Режь по бизнес-функциям, а не по техническим слоям. OrderService, PaymentService, UserService — потому что именно так бизнес думает о системе. 2. Single Responsibility Один сервис — одна ответственность. Если в описании сервиса есть союз «и», это уже тревожный звоночек 🚨 3. Data Ownership У каждого сервиса своя БД. Без исключений. Shared database = shared pain. 4. Loose Coupling Только API, никакого прямого доступа к чужим таблицам. 🔹 Классический антипаттерн
// ❌ Бизнес-логика смешана в одном сервисе
class BadOrderService
{
    public function processOrderAndPayment(int $id): string
    {
        $order = $this->orderRepository->findById($id)
            ?? 'Order not found';

        $paymentStatus = 'Payment Successful'; // 🚨 чужая ответственность

        return $order . ' | ' . $paymentStatus;
    }
}
Выглядит безобидно, пока не нужно масштабировать платежи отдельно, сменить платёжного провайдера или добавить retry-логику только для оплаты. Тут и начнутся реальные проблемы. 🔹 Советы из практики → Начни с монолита. Не дроби систему заранее. Сначала пойми домен, потом режь по швам. → Следи за chatty communication. Если сервис делает 10 вызовов к соседям на каждый запрос — граница явно проведена не там. → Изучи DDD. Bounded Context из Domain-Driven Design — лучший инструмент для поиска правильных границ. Инвестиция окупается быстро.

ℹ️ Полезные команды Composer Composer — это основной инструмент для управления зависимостями в PHP. Если вы работаете с Laravel, то уже знакомы с такими командами, как composer install и composer update. Однако у Composer есть менее известные, но очень полезные команды, которые могут значительно упростить вашу работу над проектом. 1️⃣ composer outdated Команда показывает, какие зависимости вашего проекта устарели. Она выводит список всех пакетов, для которых доступны более новые версии, указывая текущую и последнюю версии. Это удобный способ следить за обновлениями и безопасностью проекта без необходимости сразу обновлять все пакеты. 2️⃣ composer show С помощью этой команды можно получить подробную информацию обо всех установленных пакетах. Кроме того, если указать конкретное имя пакета, можно узнать его описание, текущую версию и зависимости. Например:
composer show backpack/crud
Эта команда полезна, когда нужно быстро проверить, какая версия пакета установлена и для чего он нужен. 3️⃣ composer why Если вы хотите понять, почему определённый пакет установлен в проекте, используйте команду composer why. Она покажет, какие зависимости требуют установки данного пакета. Это особенно полезно для анализа сложной цепочки зависимостей. 4️⃣ composer licenses Для проверки лицензий всех установленных зависимостей существует команда composer licenses. Она помогает убедиться, что все используемые пакеты соответствуют необходимым требованиям по лицензированию, что особенно важно при работе с открытым исходным кодом. 5️⃣ composer check-platform-reqs При работе на разных платформах может возникнуть необходимость убедиться, что все необходимые расширения PHP установлены. Команда composer check-platform-reqs проверяет, соответствует ли ваша система требованиям, указанным в composer.json. Она также проверяет версию PHP и расширения.

🐧 Работа с Linux CLI Процесс жрёт CPU на 100%, а top показывает только PID? Используйте strace -cp <PID>, и вы получите статистику системных вызовов — сразу видно, процесс висит на диске, сети или чём-то ещё. 🔹 Зачем это нужно — Показывает, на какие системные вызовы тратится время: read, write, futex, epoll_wait. — Если 90% времени в futex, то дедлок или контеншн на мьютексе. — Если read/write, то проблема с I/O, проверяйте диск или NFS. — Если connect/sendto, то приложение ждёт ответа от другого сервиса. 🔹 Как использовать — Статистика вызовов процесса: strace -cp <PID> — Трассировка в реальном времени: strace -p <PID> -e trace=network — Только файловые операции: strace -p <PID> -e trace=file — С таймстемпами: strace -p <PID> -T -e trace=write — Трейсить с дочерними процессами: strace -fp <PID>

😸 Каждый разработчик подходит к задаче со своим опытом: помнит прошлые решения, знает ограничения проекта и понимает, какой
😸 Каждый разработчик подходит к задаче со своим опытом: помнит прошлые решения, знает ограничения проекта и понимает, какой код команда пропустит на ревью. Для человека это естественная часть работы. У Claude Code этого контекста по умолчанию нет — только задача и инструкции, которые ему дали.
Поэтому в большой команде недостаточно просто выбрать хорошую модель. ❗️ Нужно ещё объяснить ей, как у вас устроена разработка: какие подходы приняты, что обязательно проверять и по каким правилам принимать решения.
🗓 23 июля в 19:00 МСК поговорим об этом на бесплатном вебинаре с Алексеем Жиряковым — он Executive Director в Сбере, руководит GenAI Data Platform, и с этой проблемой сталкивался не раз 🔥 Покажет живое демо, разберём, как встроить AI в процесс разработки так, чтобы он реально помогал, а не добавлял ещё один повод для споров на ревью. 🔗 Занять место на вебинаре 🏃‍♀️ Proglib Academy

✏️ Если вы уже работаете с Claude Code, Cursor или Copilot, этот вебинар будет особенно полезен. Разберут, как превратить AI из инструмента для отдельных задач в часть инженерного процесса ⬇️