ru
Feedback

Не попадитесь на канал ботавода! Telemetrio находит и помечает такие каналы 👉 Хотите видеть метку — оформите подписку

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

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

Открыть в Telegram

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

Больше

📈 Аналитический обзор Telegram-канала Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter

Канал Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter (@phpproglib) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 10 460 подписчиков, занимая 11 700 место в категории Технологии и приложения и 60 760 место в регионе Россия.

📊 Показатели аудитории и динамика

С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 10 460 подписчиков.

Согласно последним данным от 29 октября, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -26, а за последние 24 часа — -1, при этом общий охват остаётся высоким.

  • Статус верификации: Не верифицирован
  • Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 17.35%. В первые 24 часа после публикации контент обычно набирает 7.86% реакций от общего числа подписчиков.
  • Охват публикаций: В среднем каждый пост получает 1 815 просмотров. В течение первых суток публикация набирает 822 просмотров.
  • Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 1.
  • Тематические интересы: Контент сосредоточен на ключевых темах, таких как php, laravel, пхпшника, artisan, api.

📝 Описание и контентная политика

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

Благодаря высокой частоте обновлений (последние данные получены 30 октября, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.

10 460
Подписчики
-124 часа
-167 дней
-2630 дней
Архив постов
⚡ Создание реактивных систем на PHP: когда асинхронность и потоки имеют смысл Когда-то «асинхронный PHP» звучало как оксюморо
⚡ Создание реактивных систем на PHP: когда асинхронность и потоки имеют смысл Когда-то «асинхронный PHP» звучало как оксюморон. Но времена «запрос-ответ и умер» уходят — современным приложениям нужно реагировать в реальном времени: стримить данные, обновлять дашборды, обрабатывать события. 🧩 Раньше: PHP жил в блокирующем мире — каждая операция ждала предыдущую. Просто, но медленно. ⚙️ Теперь: движки вроде ReactPHP и Swoole позволяют запускать корутины, слушать события и держать процесс живым. 📈 Что это даёт: — Реактивные API и чаты без Node.js — Потоковую обработку логов и телеметрии — Масштабирование без взрывного роста потоков — Меньше ожиданий, больше отклика 💡 Но важно помнить: Async не делает код быстрее — он делает ожидание дешевле. Он не для CRUD-панелей, а для систем, где данные текут потоком. 🕵️‍♂ А ещё — вам придётся дружить с логированием, контролем памяти и дисциплиной. Асинхронщина не про хаос, а про осознанную реактивность. 🔗 Medium Библиотека пхпшника

💡Совет по Laravel: хук в события аутентификации Знаешь ли ты, что в Laravel модуль аутентификации уже «на борту» поставляетс
💡Совет по Laravel: хук в события аутентификации Знаешь ли ты, что в Laravel модуль аутентификации уже «на борту» поставляется с целой кучей событий, на которые ты можешь «подписаться»? Независимо от того, пытается пользователь войти или терпит неудачу, ты можешь отлавливать эти моменты и делать с ними что угодно 🚀 Библиотека пхпшника #vardump

💻 Подборка новостей по PHP за неделю:​ 🔹 Laravel 12.32 — добавлен метод Http::batch() для пакетных HTTP-запросов, метод aft
💻 Подборка новостей по PHP за неделю:​ 🔹 Laravel 12.32 — добавлен метод Http::batch() для пакетных HTTP-запросов, метод after() для тонкой настройки rate limiting по ответам, а также поддержка callback’ов при сбое batch-задач. 🔹 Craft CMS переходит на Laravel — на конференции Dot All объявлено, что Craft CMS 6 будет работать на Laravel, что обещает мощную экосистему и ускорение разработки. 🔹 Новая команда setup в Laravel — теперь установка проекта стала проще: одной командой Composer можно выполнить все основные шаги по настройке окружения. 🔹 Symfony 29 сентября — 5 октября 2025 — в Symfony 7.4 устарели XML-конфигурации для сервисов и маршрутов, добавлены PHP-атрибуты для консольных аргументов и улучшен HTTP-клиент с кэшированием. Библиотека пхпшника #свежак

💬Скручивали опыт в резюме? Расскажите Библиотека пхпшника #байтовый_юмор
💬Скручивали опыт в резюме? Расскажите Библиотека пхпшника #байтовый_юмор

📚 Release It!: Design and Deploy Production-Ready Software, 2nd Edition (2018) Эта книга — как дневник боли разработчиков, т
📚 Release It!: Design and Deploy Production-Ready Software, 2nd Edition (2018) Эта книга — как дневник боли разработчиков, только без слёз (почти). Автор рассказывает, как не допустить, чтобы твой код превратился в ночной кошмар DevOps-а. В обновлённом издании рассказывается о создании современных систем — более крупных, сложных и в значительной степени виртуализированных. Что внутри: ⚡️ Антипаттерны стабильности и как их обходить ☁️ Про DevOps, микросервисы и облака без боли 💥 Хаос-инжиниринг (да, ломать специально, чтобы не рухнуло потом) 🔄 Нулевой даунтайм и непрерывная доставка 🔗 Скачать 🤞 Поддержать канал бустом 🐸 Книги для программистов

Как вам функция? По словам автора, это лучшее что он написал за 20 лет карьеры 💬 А у вас в запасе есть такие динозавры? Дели
Как вам функция? По словам автора, это лучшее что он написал за 20 лет карьеры 💬 А у вас в запасе есть такие динозавры? Делитесь в коментах👇 Библиотека пхпшника #байтовый_юмор

⭐️ Вы можете использовать readStream и writeStream, чтобы скопировать файл (или все файлы из папки) с одного диска на другой,
⭐️ Вы можете использовать readStream и writeStream, чтобы скопировать файл (или все файлы из папки) с одного диска на другой, сохраняя низкое использование памяти.

💻 ШПАРГАЛКА по Git для разраба 12 ключевых команд, которые составляют основу рабочего процесса Git. 🐸 Библиотека пхпшника
💻 ШПАРГАЛКА по Git для разраба 12 ключевых команд, которые составляют основу рабочего процесса Git. 🐸 Библиотека пхпшника

Внутреннее устройство PHP-массива (HashTable) На поверхности array — просто «ключ-значение». Под капотом — компактная hash-таблица Zend Engine с режимами для разных сценариев и сохранением порядка вставки. Официально: «array в PHP — упорядоченная карта». 📦 Базовая структура PHP хранит массив как HashTable (Zend): есть таблица хеш-слотов и массив «бакетов» с элементами. С PHP 7 реализация компактная: меньше аллокаций и память/кэш-локальность лучше по сравнению с PHP 5. Два режима работы: Packed — когда ключи 0..n-1 без дыр, работает как плотный список. Mixed — как ассоциативный словарь (строковые и целочисленные ключи). Переключение прозрачно. 🔑 Хеш и распределение Строковые ключи хешируются внутренней функцией движка; индекс вычисляется по маске таблицы (степень двойки → быстрый & (n-1)). Числовые ключи идут напрямую как индексы (в packed) или как int-ключи (в mixed). Порядок обхода = порядок вставки. 🌊 Коллизии Коллизии разрешаются через связные цепочки внутри хеш-слотов (указатели между бакетами). Деревьев, как в Java 8, нет — в худшем случае поиск линейный по цепочке. На практике за счёт маски/resize средняя сложность операций остаётся O(1). ⚡️ Ресайзинг При росте элементов таблица увеличивается (обычно ×2), элементы перераскладываются в новые слоты по той же маске. Это дорогая операция, но амортизированно остаётся дешёвой. 📊 Производительность (в среднем) isset($a[$k]) / чтение / запись — O(1); в крайне «плохих» случаях — O(n) из-за цепочек. Хорошее распределение ключей и разумный размер таблицы держат вас в O(1). ⚖️ Важные нюансы Порядок важен: массив — упорядоченная структура (вставочный порядок сохраняется). Типы ключей: только int и string. Числовые строки автоматически приводятся к int (например, «8» → 8; «08» останется строкой). Объекты/массивы как ключи — нельзя. Копирование при записи (COW): присваивание массива создаёт «разделяемую» копию; реальное копирование — при первой модификации. Это экономит память и часто снимает страх «дорого скопировал». Итерация не fail-fast: foreach не бросает исключения при изменении массива во время обхода; поведение «слабо-консистентное», ориентируйтесь на читаемость и аккуратность. (Специального fail-fast механизма как в JDK нет; официальная дока описывает лишь общие правила итерации массива.) 🧮 Когда массив — не то, что нужно В PHP массив не принимает объекты как ключи. Для кейсов «ключ = объект» есть специальные структуры: SplObjectStorage — map/set для объектов-ключей. Удобно для учёта уникальных объектов, привязки метаданных к объекту. WeakMap (PHP 8+) — как map «объект → значение», но не удерживает объект от GC: когда объект больше нигде не живёт, пара удаляется из карты. Идеально для кэшей, завязанных на жизненный цикл объекта. 🔍 Частые подводные камни «Почему «123» стал ключом 123?» — потому что numeric string → int по правилам массива. Если хотите именно строковый ключ, сделайте его явно невалидной «десятичной» формой (например, «+123» или «00123»), или храните в другой структуре. «Почему копия массива не дорога?» — из-за Copy-On-Write: реальный дубликат появится только при изменении. Библиотека пхпшника #php_азбука

🛠 PhpStorm-лайфхак: Быстрый доступ к любой ветке Git Если ты часто переключаешься между ветками в проектах, вот способ сделать это максимально быстро прямо из PhpStorm, без лишних кликов мышкой. 🔍 Как это работает: 1. Нажми Ctrl+Shift+A (или Cmd+Shift+A на macOS). 2. Начни вводить Git: Checkout и выбери нужную команду. 3. Введи название ветки и нажми Enter — мгновенный checkout! ⚡️ Почему это круто: 🔸 Быстро переключаешься между ветками без поиска в списках 🔸 Нет необходимости помнить точные команды Git в терминале 🔸 Удобно при работе с большим количеством веток Библиотека пхпшника

Bash-скрипт на максималках: как работает менеджер задач для управления 300 скриптами Статья рассказывает историю о том, как в
Bash-скрипт на максималках: как работает менеджер задач для управления 300 скриптами Статья рассказывает историю о том, как в команда столкнулась с «проклятьем масштаба» при работе с сотнями скриптов для загрузки и обработки данных из десятков открытых источников. Изначально запуск был построен на cron и bash-скриптах, но со временем процесс стал занимать слишком много времени и стал крайне сложным в поддержке. Готовых решений в 2018 году (например, Airflow) для их специфики не нашлось, поэтому команда спроектировала собственный TaskManager. По сути, это статья о том, как инженерная проблема управления «зоопарком скриптов» превратилась в задачу по теории графов, и как алгоритмический подход дал решение, которое оказалось масштабируемым и долгоживущим. 🔗 Хабр Библиотека пхпшника

🔐 How to: добавить двухфакторную аутентификацию (2FA) в Laravel Nova Админка — место, где безопасность особенно важна. Даже если Laravel Nova уже неплохо защищена, базовых мер (типа IP-фильтров) может быть недостаточно. Простое и надёжное решение — двухфакторная аутентификация. Сегодня разберём, как добавить её в Nova буквально за 5 минут с помощью пакета Visanduma Nova Two Factor. ⚙️ 1. Установка Для Nova 5 — просто ставим пакет:
composer require visanduma/nova-two-factor:~3
Затем публикуем конфигурацию:
php artisan vendor:publish --provider="Visanduma\NovaTwoFactor\ToolServiceProvider"
🧩 2. Подключаем трейт к модели администратора use Visanduma\NovaTwoFactor\ProtectWith2FA; class Admin extends Authenticatable { use ProtectWith2FA; } Теперь именно эта модель будет защищена 2FA. 🔒 3. Добавляем middleware в Nova Откройте config/nova.php и добавьте посредник пакета в список middleware: 'middleware' => [ ..., \Visanduma\NovaTwoFactor\Http\Middleware\TwoFa::class, ], 🧰 4. Регистрируем инструмент в NovaServiceProvider public function tools() { return [ ..., new \Visanduma\NovaTwoFactor\NovaTwoFactor(), ]; } После этого в меню появится пункт Two Factor Auth, где админ сможет включить 2FA. 🧭 5. Кастомное меню? Добавьте пункт вручную Nova::mainMenu(function (Request $request) { return [ MenuSection::make('Two Factor Auth', [ MenuItem::link('2FA', 'nova-two-factor'), ])->icon(config('nova-two-factor.menu_icon')), ]; }); Теперь 2FA появится и в вашем пользовательском меню. 💡 Pro Tip Если вы хотите убрать ограничение по IP, просто измените gate в NovaServiceProvider: protected function gate() { Gate::define('viewNova', fn (\App\Models\Admin $user) => true); } ⚠️ Только не удаляйте gate полностью — Nova этого не простит! 🛡 После включения 2FA при каждом входе администратору нужно будет ввести OTP-код — защита станет заметно прочнее, а доступ под контролем.

⌨️ Топ-вакансий по PHP за неделю Senior PHP разработчик — от 250 000 до 320 000 ₽, Удалёнка (Москва) PHP dev (Symfony, RabbitMQ) — от 250 000 до 400 000 ₽, Офис (Москва) Team Leader / Lead PHP Developer — от 5500 до 6500 $, Удалёнка (Москва) PHP Developer — от 250 000 ₽, Удалёнка (Москва) ➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs

💥 Весь октябрь -40% на курсы для разработчиков в proglib.academy Бери знания под свой стек: Python | алгоритмы | математика
💥 Весь октябрь -40% на курсы для разработчиков в proglib.academy Бери знания под свой стек: Python | алгоритмы | математика для Data Science | архитектура кода.
Пока одни ждут «идеальный момент», другие просто учатся. А потом берут ваши офферы.
⚡️ Пока скидка действует, апдейтни свои навыки

⚡️ How to: асинхронная обработка в Symfony Messenger Современные пользователи не хотят ждать, пока ваш сервер «пережёвывает»
⚡️ How to: асинхронная обработка в Symfony Messenger Современные пользователи не хотят ждать, пока ваш сервер «пережёвывает» тяжёлые задачи — будь то генерация отчёта, обработка видео или загрузка большого файла. Решение простое: отправить работу в фон. И здесь на сцену выходит Symfony Messenger. 🚨 Проблема синхронного подхода Каждый запрос ждёт полного выполнения всех действий. Отправка письма или генерация PDF может «подвесить» вкладку браузера. Долгие запросы блокируют сервер и мешают обслуживать других пользователей. ✅ Решение — Messenger Symfony Messenger реализует паттерн Producer-Consumer: 🔸 Message — простая PHP-DTO с данными (например, ProcessVideoMessage). 🔸 Handler — сервис с бизнес-логикой обработки. 🔸 Transport — очередь (RabbitMQ, Redis, Doctrine, SQS). 🔸 Worker — отдельный процесс, который слушает очередь и обрабатывает сообщения. Таким образом, пользователь получает быстрый отклик, а тяжёлая работа уходит в фон. 🎬 Пример: параллельная обработка видео 1. Разбиваем видео на чанки и отправляем каждую часть отдельным сообщением. 2. 10 воркеров параллельно кодируют/обрабатывают куски. 3. Событие VideoChunkProcessed сигнализирует о завершении. 4. После обработки всех чанков запускается CombineVideoChunksMessage, который объединяет куски в готовый файл через FFmpeg. 🚀 Чем это хорошо 🔹 Масштабируется горизонтально: чем больше воркеров, тем быстрее работа. 🔹 Гарантированная устойчивость — сообщения не теряются. 🔹 Архитектура становится модульной и предсказуемой. 👉 Читать статью 🐸 Библиотека пхпшника

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

🚀 Laravel MCP: новая библиотека для AI-интеграций в Laravel недавно в публичную бету вышел Laravel MCP — библиотека, которая позволяет разворачивать Model Context Protocol (MCP)-серверы прямо внутри вашего Laravel-приложения. 🔎 Что такое MCP? Model Context Protocol (MCP) — это открытый стандарт, который помогает AI-ассистентам (ChatGPT, Claude, Cursor и др.) безопасно подключаться к внешним сервисам и данным. Вместо того чтобы писать отдельные интеграции для каждого ИИ, MCP предлагает универсальный API для агентов. Laravel MCP поддерживает три ключевых примитива протокола: 🔸 Tools — выполнение действий: от генерации инвойсов до запуска команд. 🔸 Resources — предоставление данных и контента (документы, профили, отчёты). 🔸 Prompts — шаблоны для типовых запросов (ревью кода, модерация контента). 🛠️ Возможности Laravel MCP Servers: точка входа для взаимодействия с AI. Поддерживаются web-серверы (HTTP для удалённых клиентов) и локальные (artisan-команды для девелопмента). Tools: выносите бизнес-логику наружу — AI сможет запускать её по запросу пользователя. Resources: отдавайте данные приложения в структурированном виде. Prompts: формируйте повторно используемые шаблоны общения с ИИ. 🔐 Безопасность Laravel MCP поддерживает два подхода к защите web-серверов: OAuth 2.1 (Laravel Passport) — надёжный вариант для продакшена. Token-based (Laravel Sanctum) — простой и лёгкий способ защиты. Дополнительно можно встраивать авторизацию прямо в обработчики инструментов и ресурсов. 📦 Установка Требования: PHP 8.1+, Laravel 10/11/12. Установка: composer require laravel/mcp. После — публикуете routes/ai.php, где настраиваются MCP-сервера. 🔬 Тестирование 🔹 MCP Inspector: CLI-утилита для проверки аутентификации и отладки MCP-сервера. 🔹 Unit tests: есть встроенные ассершены для проверки ответов и симуляции запросов. 💡 Где применять 🔹 Для разработчиков: генерация кода, запуск artisan-команд, автоматизация тестов. 🔹 Для бизнеса: AI-инвойсинг, управление пользователями, публикация контента. 🔹 В энтерпрайзе: интеграция с CRM/ERP, автоматическая обработка заявок, предиктивная аналитика. 🔹 Для данных: безопасный доступ к профилям, заказам и сторонним API прямо из AI-чатов. ⚡️ Laravel MCP превращает Laravel-приложение в «AI-совместимый» сервис. Теперь вместо кастомных интеграций можно один раз поднять MCP-сервер и позволить ассистентам напрямую использовать ваши бизнес-процессы. 👉 Вопрос: какие функции вы бы первыми открыли для LLM через MCP — генерацию кода, работу с базой или бизнес-логику? 🗂️ Документация Библиотека пхпшника #инструменты

🔥 PHP 8.5: релиз, который радует мелочами Совсем скоро выходит PHP 8.5, и это именно та версия, где нет «вау»-революции, но
🔥 PHP 8.5: релиз, который радует мелочами Совсем скоро выходит PHP 8.5, и это именно та версия, где нет «вау»-революции, но есть куча приятных мелочей, которые сделают жизнь разработчика проще. Давайте разберёмся, что нового. ➡️ Pipe Operator Теперь можно писать цепочки вызовов без временных переменных. Код читается слева направо — и становится чище. 🛑 Атрибут #[NoDiscard] Если функция возвращает значение, которое нельзя игнорировать — PHP предупредит. Это реально спасает от багов, когда кто-то «забыл» использовать результат вызова. 🔒 Closures в константах Теперь можно использовать статические замыкания прямо в константах, свойствах по умолчанию и атрибутах. Отличный плюс для фреймворков с валидацией и метаданными. 🧰 Array helpers array_first() и array_last() — наконец-то нормальные функции для получения первого и последнего элемента массива. Без возни с указателем. 🏷 Атрибуты для глобальных констант Теперь константы можно помечать метаданными (например, #[Deprecated]). Удобно для больших пакетов и конфигураций. ⚡️ Новый get_exception_handler() Наконец-то можно посмотреть, какой exception handler у вас сейчас установлен. Полезно для фреймворков и глобальной обработки ошибок. 🌍 Intl List Formatter Форматирует списки по правилам локали: "Lisbon, Porto, and Coimbra". Для интернационализации — находка. 🖥 Улучшения в CLI php -i --diff — показывает, чем ваша php.ini отличается от дефолта. Константа PHP_BUILD_DATE — точная дата сборки бинаря. Final Property Promotion — можно делать отдельные свойства final. Чуть более удобные ошибки и варнинги в CLI. 😀 Это та версия, которая не ломает привычки, а аккуратно убирает шероховатости. Если вы пишете на PHP каждый день — разницу почувствуете сразу. 🙂 Вопрос к вам: какая из фич PHP 8.5 войдёт в ваш код первой?

Что будет выведено в результате работы скрипта?
Anonymous voting

Что будет выведено в результате работы скрипта?
Что будет выведено в результате работы скрипта?