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

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

Ir al canal en Telegram

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

Mostrar más

📈 Análisis del canal de Telegram Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter

El canal Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter (@phpproglib) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 10 523 suscriptores, ocupando la posición 11 314 en la categoría Tecnologías y Aplicaciones y el puesto 60 447 en la región Rusia.

📊 Métricas de audiencia y dinámica

Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 10 523 suscriptores.

Según los últimos datos del 26 agosto, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de -63, y en las últimas 24 horas de -1, conservando un alto alcance.

  • Estado de verificación: No verificado
  • Tasa de interacción (ER): El promedio de interacción de la audiencia es 19.12%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 9.47% de reacciones respecto al total de suscriptores.
  • Alcance de las publicaciones: Cada publicación recibe en promedio 2 012 visualizaciones. En el primer día suele acumular 997 visualizaciones.
  • Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 15.
  • Intereses temáticos: El contenido se centra en temas clave como php, laravel, пхпшника, artisan, api.

📝 Descripción y política de contenido

El autor describe el recurso como un espacio para expresar opiniones subjetivas:
Все самое полезное для пхпшника в одном канале. По рекламе: @proglib_adv Учиться у нас: clc.to/M561SQ Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b

Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 27 agosto, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.

10 523
Suscriptores
-124 horas
-157 días
-6330 días
Archivo de publicaciones
⚡️ Laravel: withCount() вместо with() для агрегатов with('orders') подгружает всю коллекцию моделей в память. Если нужна только цифра — это избыточно. ❌ Антипаттерн
$users = User::with('orders')->get();
// Eloquent грузит все связанные модели в память
// затем PHP считает count() на уже загруженной коллекции

foreach ($users as $user) {
    echo $user->orders->count();
}
✅ Правильно
$users = User::withCount('orders')->get();
// Генерирует подзапрос: SELECT count(*) as orders_count
// Один SQL-запрос, ноль лишних объектов в памяти

foreach ($users as $user) {
    echo $user->orders_count;
}
Доступные хелперы одного семейства:
User::withSum('orders', 'total')    // orders_sum_total
User::withAvg('reviews', 'rating')  // reviews_avg_rating
User::withMin('orders', 'total')    // orders_min_total
User::withMax('orders', 'total')    // orders_max_total
Каждый из них транслируется в коррелированный подзапрос. А цепочка из нескольких всё равно будет одни основным SELECT'ом. Применимо когда: — рендеришь список с агрегированными метриками; — строишь API без лишних аллокаций; — профилируешь и видишь with() там, где нужна только цифра.

⚡️ Laravel: withCount() вместо with() для агрегатов --- with('orders') подгружает всю коллекцию моделей в память. Если нужна только цифра — это избыточно. ❌ Антипаттерн:
$users = User::with('orders')->get();
// Eloquent грузит все связанные модели в память
// затем PHP считает count() на уже загруженной коллекции

foreach ($users as $user) {
    echo $user->orders->count();
}
✅ Правильно:
$users = User::withCount('orders')->get();
// Генерирует подзапрос: SELECT count(*) as orders_count
// Один SQL-запрос, ноль лишних объектов в памяти

foreach ($users as $user) {
    echo $user->orders_count;
}
Доступные хелперы одного семейства:
User::withSum('orders', 'total')    // orders_sum_total
User::withAvg('reviews', 'rating')  // reviews_avg_rating
User::withMin('orders', 'total')    // orders_min_total
User::withMax('orders', 'total')    // orders_max_total
Каждый из них транслируется в коррелированный подзапрос. Цепочка из нескольких — всё равно один основной SELECT. --- Применимо когда: — рендеришь список с агрегированными метриками — строишь API без лишних аллокаций — профилируешь и видишь with() там, где нужна только цифра --- #laravel #php #eloquent #performance #backend

Команда git cherry-pick A..B выбирает коммиты:
Anonymous voting

🔄Вы используете шаблоны, запросы и конфигурации каждый день. Но понимаете ли вы, как они устроены внутри? 📅На открытом урок
🔄Вы используете шаблоны, запросы и конфигурации каждый день. Но понимаете ли вы, как они устроены внутри? 📅На открытом уроке за 60 минут разберём, как работает любой язык — и соберём свой DSL на PHP. Покажем полный конвейер: от исходного текста до результата. Вы увидите, как писать лексер, строить синтаксическое дерево и реализовывать интерпретатор. Всё — на чистом PHP, без магии и скрытых механизмов. Это даёт не просто новый навык, а понимание, как работают инструменты, которыми вы уже пользуетесь: шаблонизаторы, запросы, правила. И как создавать собственные решения под задачи бизнеса — без хардкода и сложных обходных путей. 💡Открытый урок проходит в преддверии старта курса «PHP-разработчик. Продвинутый уровень» 29 апреля в 20:00 МСК. Регистрация: https://clc.to/sU25lg Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

⌨️ Топ-вакансий по PHP за неделю Fullstack разработчик PHP — от 180 000 до 230 000 ₽ — удалёнка Backend-разработчик — от 1 800 до 3 100 $ — удалёнка Team Lead PHP — до 402 000 ₽ — удалёнка ➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs

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

🗓 В следующий вторник (28.04) в 19:00 встречаемся в онлайне. Тема:
Как эффективно управлять контекстным окном LLM в мультиагентных системах и не сливать бюджет на токены
В кружке Кирилл рассказал, какие именно подходы будем разбирать. 👉 Занять место на вебинаре

⌛ Сохраняйте шпаргалку по командам git
Сохраняйте шпаргалку по командам git

🔥 Вечный вопрос PHP-разработчика Наш подписчик спрашивает:
«Работаю в компании 2 года. Достался огромный легаси-проект на PHP 7.1. Всё в кучу, тесты не писались никогда. Меня просят его "улучшать" параллельно с фичами. Как вообще подступиться? Рефакторить по-тихому или настаивать на переписывании? И как объяснить бизнесу, что технический долг — это реальная проблема, а не моё нытьё?» — Дмитрий, PHP Developer
💬 Делитесь в комментариях — Как вы работаете с легаси: рефакторинг кусками или полный переезд? — Как убеждали руководство выделить время на технический долг? — Есть ли у вас правило: когда код точно пора переписывать? P.S. Если хотите задать вопрос, заполните нашу гугл-форму. Это займет 5 минут. #междусобойчик

⚙️ Полезный инструмент для работы с JSON JSON-файлы с высокой вложенностью часто сложно прочитать. 𝐉𝐬𝐨𝐧𝐂𝐫𝐚𝐜𝐤 создает
⚙️ Полезный инструмент для работы с JSON JSON-файлы с высокой вложенностью часто сложно прочитать. 𝐉𝐬𝐨𝐧𝐂𝐫𝐚𝐜𝐤 создает графические диаграммы из JSON-файлов и делает их легко читаемыми. Кроме того, созданные диаграммы можно скачать в виде изображений. Также поддерживает YAML и XML форматы.

Объясни разницу между Gate и Policy в Laravel? Оба инструмента для авторизации, но с разной областью применения. Gateпростые одиночные проверки, не привязанные к модели:
// Определяем в AuthServiceProvider
Gate::define('access-admin-panel', function (User $user) {
    return $user->is_admin;
});

// Проверяем
if (Gate::allows('access-admin-panel')) { ... }
// или в контроллере
$this->authorize('access-admin-panel');
Policy класс с набором правил для конкретной модели:
// php artisan make:policy PostPolicy --model=Post
class PostPolicy
{
    public function update(User $user, Post $post): bool
    {
        return $user->id === $post->user_id;
    }

    public function delete(User $user, Post $post): bool
    {
        return $user->id === $post->user_id || $user->is_admin;
    }
}

// Использование
$this->authorize('update', $post);
Правило выбора — Нет модели → Gate — Есть модель, несколько действий → Policy

⚡️ Мы рады представить команду экспертов курса AgentOps! — Дмитрий Антипов расскажет, как грамотно проверить работу AI-моделе
⚡️ Мы рады представить команду экспертов курса AgentOps!Дмитрий Антипов расскажет, как грамотно проверить работу AI-моделей — Курилл Кухарев поделится, почему компаниям выгодно использовать локальные модели и как их развернуть — Андрей Носов расскажет, как работать с данными и знаниями в AI-системах: построение RAG, выбор подходов к поиску и организация хранения данных — Антон Будняк разберет, как обеспечить устойчивость сервиса, в котором используется ИИ — Александр Ошурков расскажет, как оценивать качество работы LLM в backend-сервисах — Екатерина Трофимов разберет, как проектировать инструменты для AI-агентов и выстраивать взаимодействие с внешними сервисами Курс для backend-разработчиков, тимлидов и LLM инженеров о том, как внедрять AI-логику в бэкенд IT-продуктов и сохранять стабильность сервиса. К концу обучения вы получите: • Структурированный подход к архитектуре и деплою AI-агентов • Навыки настройки мониторинга, тестирования и контроля расходов на токены • Разбор сложных инженерных кейсов из реальной практики 🎁 Доступ к материалам курса «Разработка ИИ-агентов» в подарок при покупке Инженерного трека 👉 Все подробности и программа обучения.

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

🐘 Меняем директивы PHP на лету Знаете, что можно изменить параметры среды выполнения прямо в рантайме без перезапуска сервера и правки конфигов? 🔹 Зачем это нужно — ini_set() меняет параметры для текущего запроса: удобно для скриптов с нестандартными требованиями к памяти или таймаутам. — ini_get() покажет реальное значение, которое видит ваш процесс, а не то, что вы написали в конфиге три года назад. — Мгновенно отвечает на вопрос «а почему memory_limit игнорируется?» — Работает без доступа к серверу, рестартов и DevOps-тикетов. 🔹 Как использовать Посмотреть реальное значение директивы:
echo ini_get('memory_limit'); // '128M'
Переопределить на лету для тяжёлого импорта:
ini_set('memory_limit', '512M');
ini_set('max_execution_time', '300');
Дамп всех активных настроек:
phpprint_r(ini_get_all());
Только настройки конкретного расширения:
phpprint_r(ini_get_all('session'));
Проверить, откуда пришло значение — из php.ini, .htaccess или кода:
php$all = ini_get_all(null, true);
print_r($all['memory_limit']);
// ['global_value' => '128M', 'local_value' => '512M', 'access' => 7]
⚠️ Не все директивы можно менять через ini_set(), каждая имеет уровень доступа. Если ini_set() возвращает false — директива системная, её меняет только php.ini или конфиг пула php-fpm. Смотрите поле access в выводе ini_get_all(): 1 — можно из кода, 2 — только .htaccess/пул, 4 — только php.ini, 7 — везде.

☕️ Меняем php.ini на лету Знаете, что ваше приложение может изменить параметры среды выполнения прямо в рантайме без перезапуска сервера и правки конфигов? 🔹 Зачем это нужно — ini_set() меняет параметры для текущего запроса: удобно для скриптов с нестандартными требованиями к памяти или таймаутам. — ini_get() покажет реальное значение, которое видит ваш процесс, а не то, что вы написали в конфиге три года назад. — Мгновенно отвечает на вопрос «а почему memory_limit игнорируется?» — Работает без доступа к серверу, рестартов и DevOps-тикетов. 🔹 Как использовать Посмотреть реальное значение директивы:
echo ini_get('memory_limit'); // '128M'
Переопределить на лету для тяжёлого импорта:
ini_set('memory_limit', '512M');
ini_set('max_execution_time', '300');
Дамп всех активных настроек:
phpprint_r(ini_get_all());
Только настройки конкретного расширения:
phpprint_r(ini_get_all('session'));
Проверить, откуда пришло значение — из php.ini, .htaccess или кода:
php$all = ini_get_all(null, true);
print_r($all['memory_limit']);
// ['global_value' => '128M', 'local_value' => '512M', 'access' => 7]
⚠️ Не все директивы можно менять через ini_set(), каждая имеет уровень доступа. Если ini_set() возвращает false — директива системная, её меняет только php.ini или конфиг пула php-fpm. Смотрите поле access в выводе ini_get_all(): 1 — можно из кода, 2 — только .htaccess/пул, 4 — только php.ini, 7 — везде.

🏃‍♀️ Уже завтра стартует курс по разработке AI-агентов. Про AI-агентов часто думают, что это просто модная обертка над джпт
🏃‍♀️ Уже завтра стартует курс по разработке AI-агентов. Про AI-агентов часто думают, что это просто модная обертка над джпт для пет-проектов. Кажется, прикрутил API к скрипту и типа готово. А вот и нет! Когда дело доходит до прода, начинаются настоящие проблемы.
Зачем глубоко копать мультиагентные системы, если можно обойтись старым добрым кодом? Как контролировать расходы на токены, чтобы новая фича не разорила бизнес? Как заставить агента работать стабильно и предсказуемо, а не галлюцинировать?
Эту инженерную часть мы и будем разбирать на курсе. Будем учиться интегрировать внешние API, работать с RAG, LangGraph, CrewAI и деплоить всё это так, чтобы работало как часы. Стартуем завтра. Для участия и доступа к программе переходите по ссылке.

💬 Обратная связь Сколько среди нас джедаев синьоров? Понятно, что грейд — довольно относительная история, но примерно ваш грейд: 🔥 — Senior 👍🏼 — Middle ❤️ — Junior 😁 — Ещё учусь

🦾 Надоело чинить «упавших» ИИ-агентов после каждого микросбоя внешних сервисов? Анонсируем старт продаж большого курса по Ag
🦾 Надоело чинить «упавших» ИИ-агентов после каждого микросбоя внешних сервисов? Анонсируем старт продаж большого курса по AgentOps. Мы собрали опыт десятков разработчиков и сделали программу, которая учит выводить ИИ в стабильный прод. 🗓 Ждем вас 28 апреля в 19:00 МСК на эфире: «Как эффективно управлять контекстным окном LLM в мультиагентных системах и не сливать бюджет на токены». 👉 Кто вещает и в чем польза? Спикер Кирилл Кухарев (Senior AI Engineer в Raft, спикер AI Conf и Highload++). Он реализовал более 50 коммерческих проектов в GenAI и на вебинаре покажет, как взять под контроль работу нескольких агентов, чтобы они не перекидывали друг другу лишний контекст и не сжигали ваши деньги. В прямом эфире разберем: • Как формируется контекст в LLM при маршрутизации между агентами; • Куда утекают лишние токены и возникает перерасход; • Практические методы: как сжимать историю, грамотно делить задачи, лимитировать передачу контекста и собирать промпты прямо в процессе запроса пользователя. 🔥 Два способа получить максимум: 1. Приходите на вебинар 28 апреля. Дарим участникам промокод на 5.000 ₽ (работает 3 дня после эфира - это шанс забрать курс по самому низу рынка). 2. Выбирайте Инженерный трек. В подарок к нему идет полный доступ к записям и автопроверкам завершенного курса «Разработка ИИ-агентов». 👉 Занять место на вебинаре и стать профи в AgentOps

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