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

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

Open in Telegram

Все самое полезное для пхпшника в одном канале. По рекламе: @proglib_adv Учиться у нас: 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 517 subscribers, ranking 11 315 in the Technologies & Applications category and 60 496 in the Russia region.

📊 Audience metrics and dynamics

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

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

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 19.22%. Within the first 24 hours after publication, content typically collects 9.53% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 2 022 views. Within the first day, a publication typically gains 1 002 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 14.
  • 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:
Все самое полезное для пхпшника в одном канале. По рекламе: @proglib_adv Учиться у нас: clc.to/M561SQ Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b

Thanks to the high frequency of updates (latest data received on 29 August, 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 517
Subscribers
-224 hours
-127 days
-6530 days
Posts Archive
📚 Learning PHP, MySQL & JavaScript: A Step-by-Step Guide to Creating Dynamic Websites, 7th Edition (2025) PHP, MySQL и немно
📚 Learning PHP, MySQL & JavaScript: A Step-by-Step Guide to Creating Dynamic Websites, 7th Edition (2025) PHP, MySQL и немного JavaScript — звучит как начало старого доброго веба? А теперь добавь туда React, Node.js, Flexbox и Ajax, и у тебя получится не просто сайт, а полноценное веб-приложение, которое работает и на десктопе, и на мобилке. Эта книга — как руководство для фуллстэка-новичка. Автор пошагово ведёт от простого HTML-каркаса до живого динамического сайта, где всё связано с базой, красиво оформлено и не падает при первом запросе. 💡 Ты научишься: 🟡 писать PHP-код, который подстраивается под пользователя; 🟡 дружить с PDO; 🟡 держать куки и сессии под контролем; 🟡 оформлять всё в стиле CSS Grid & Flexbox; 🟡 и даже делать асинхронную магию через Ajax и Node.js. 🔗 Скачать 🐸 Книги для программистов | Поддержать бустом

$ cat inventory.csv | column -t -s, — простая команда на случай, когда надо быстро и в удобном формате прочитать CSV-файл в т
$ cat inventory.csv | column -t -s,
— простая команда на случай, когда надо быстро и в удобном формате прочитать CSV-файл в терминале 👩‍💻 Флаг -s указывает на использование запятых в качестве разделителей, а -t форматирует выходные данные в чистую таблицу. 🐸 Библиотека программиста

📘 Хочешь в Data Science, но есть пробелы в знаниях математики? Мы сделали экспресс-курс «Математика для Data Science», котор
📘 Хочешь в Data Science, но есть пробелы в знаниях математики? Мы сделали экспресс-курс «Математика для Data Science», который за 2 месяца даст тебе фундамент, без которого ни одна ML-модель не взлетит 🚀 Что тебя ждёт: 🔹 живые вебинары с экспертами (НИУ ВШЭ, SberAI, Wildberries&Russ); 🔹 практика в Python, квизы и проверка заданий экспертами; 🔹 матрицы, регрессии, вероятности и статистика: всё на примерах из реальных задач; 🔹 старт — 4 декабря. 🔥 Не упусти халяву: сейчас 40% до 30 ноября 👉 Записаться на курс

💬Еще с Laravel 8 появился Prunable. С его помощью вы можете удалять старые модели по расписанию. Вам больше не нужно писать
💬Еще с Laravel 8 появился Prunable. С его помощью вы можете удалять старые модели по расписанию. Вам больше не нужно писать пользовательские команды Библиотека пхпшника #vardump

🧪 Unit-тесты vs QA протестирует Когда ответственность встречается с делегированием — рождается главный миф разработки. 🟣 Un
🧪 Unit-тесты vs QA протестирует Когда ответственность встречается с делегированием — рождается главный миф разработки. 🟣 Unit-тесты — Баги находятся на этапе разработки — Быстрый feedback loop — Рефакторинг без страха — Разработчик = ответственность за качество 🟣 QA протестирует — Быстрее пишу код без тестов — QA всё равно найдёт баги — "Я же не тестировщик" — Баги уходят в прод, но это не моя вина 💭 А в вашей компании есть правило «нет тестов — нет мержа»? Или «работает — не трогай»? Голосуем реакциями: 👍 — Пишу unit-тесты перед коммитом ❤️ — Тесты есть, но не всегда 🤔 — QA справится, они для этого есть 🔥 — Продакшн и есть тестовая среда 🐸 Библиотека пхпшника

🚀 PHP-лайфхак: Оптимизируйте автозагрузку с Composer Если вы хотите, чтобы ваш PHP-код загружался быстрее, особенно на продакшене, стоит обратить внимание на оптимизацию автозагрузки. Ниже — что это значит и как настроить. 🔍 Что такое оптимизация автозагрузки в Composer По умолчанию Composer формирует автозагрузчик так, чтобы было удобно в разработке — он может на лету проверять файловую систему, искать файлы классов и т.д. Но это добавляет накладные расходы при каждом запросе. Чтобы ускорить автозагрузку, Composer предлагает несколько уровней оптимизации: Уровень 1 — Class map generation: вместо PSR-4/PSR-0 правил генерируется готовая карта классов (classmap), что позволяет автозагрузчику сразу «знать», где находится файл. Уровень 2/A — Authoritative class maps: означает, что если класс не найден в classmap — дальнейшем поиску по файловой системе не доверяют. Это ещё быстрее, но требует, чтобы все классы были заранее включены в карту. Уровень 2/B — APCu cache fallback: использует APCu-кеш для кеширования “класс найден / не найден”, ускоряя автозагрузку без полного отключения файловой системы. ⚙️ Как правильно настроить Вот шаги, которые можно выполнить в вашем проекте: 1. В composer.json добавьте в раздел "config":
"config": {
  "optimize-autoloader": true
}
Это включает optimisation level 1. 2. При установке/обновлении запустите Composer с флагом -o / --optimize-autoloader (или -o):
composer install --no-dev -o
Если вы на продакшене — лучше исключить пакеты для разработки (--no-dev). 3. Для ещё большей оптимизации (если вы уверены, что структура проекта окончательная и классов добавляться не будет “по-ходу”):
composer dump-autoload --classmap-authoritative --no-dev
Это включает уровень 2/A. 4. Если доступен APCu, можно рассмотреть вариант 2/B:
composer install --optimize-autoloader --apcu-autoloader
Но тут нужно, чтобы APCu был установлен и настроен. 🧠 Когда это применять и на что обратить внимание ✅ На продакшене — оптимизация автозагрузки почти всегда повышение производительности, особенно в больших проектах. ⚠️ В разработке — будьте осторожны: если вы часто добавляете/удаляете/переименовываете классы, оптимизированный classmap может “не видеть” новые файлы до повторного dump-autoload. 📂 Убедитесь, что все классы соответствуют PSR-4/PSR-0 и названы корректно — иначе могут быть проблемы при уровне 2 оптимизации. 🐸 Библиотека пхпшника

Laravel и CQRS: как разделить логику чтения и записи? 🧩 Что такое CQRS? CQRS (Command Query Responsibility Segregation) — разделяет операции с данными на две категории: 🟪 Command — изменяет состояние системы (создание, обновление, удаление). 🟩 Query — возвращает данные без побочных эффектов. Такой подход даёт: 🔸 Чёткое разграничение ответственности 🔸 Предсказуемость и контроль побочных эффектов 🔸 Лучшую масштабируемость ⚙️ Как реализовать CQRS в Laravel Laravel уже имеет мощный Bus Dispatcher, так что велосипед изобретать не нужно. Достаточно реализовать два интерфейса — CommandBus и QueryBus — и зарегистрировать их в сервис-провайдерах. В итоге получится структура, где: каждый Command имеет свой Handler, каждый Query — свой обработчик, а контроллеры становятся тонкими и понятными, просто отправляя команды или запросы в шину. 💻 Пример из реального проекта LoginCommand → обрабатывается LoginHandler, который выдаёт JWT-токен. CheckMeQuery → обрабатывается CheckMeHandler, который возвращает текущего пользователя. Такая структура идеально ложится на DDD + гексагональную архитектуру: 📦 Application → команды и запросы ⚙️ Domain → бизнес-логика 🪄 Presentation → действия и респондеры Если хотите посмотреть примеры реализации LoginCommand и CheckMeQuery — читайте полную статью 👇 📖 Хабр Библиотека пхпшника

🎲 How to: Генерировать случайные Enum-значения с Faker в PHP 8.1+ PHP 8.1 принес нативные Enum, а Faker — идеальный инструме
🎲 How to: Генерировать случайные Enum-значения с Faker в PHP 8.1+ PHP 8.1 принес нативные Enum, а Faker — идеальный инструмент для генерации тестовых данных. Вместе они позволяют быстро и безопасно создавать реалистичные значения для сидов и фабрик. В статье показано, как: — определить Enum, — установить и настроить Faker, — сгенерировать случайные Enum-значения, — использовать всё это в Laravel Factory. Типобезопасно, просто и без хардкода. 🚀 🔗 Ссылка на статью Библиотека пхпшника

🛒 Black Friday от Proglib.academy! Только до 30 ноября — скидка 40% на ВСЕ курсы. Пора добавить в корзину не носки, а новые
🛒 Black Friday от Proglib.academy! Только до 30 ноября — скидка 40% на ВСЕ курсы. Пора добавить в корзину не носки, а новые скиллы: Python, математика для Data Science, AI, алгоритмы и структуры данных, ML. 🎓 Выбирай курс, который реально двинет тебя в карьере, и учись со скидкой. 👉 Учиться со скидкой

symfony/polyfill-intl-idn Что это Это полифил от Symfony Polyfill, который добавляет поддержку функций idn_to_ascii и idn_to_utf8 для версий PHP, где расширение ext‑intl может быть не установлено или не включено. На Packagist: пакет устанавливается как symfony/polyfill-intl-idn. packagist.org Зачем нужен 🔸 Если ваша система работает без расширения ext-intl (или с урезанной его поддержкой), библиотека гарантирует, что вы всё равно сможете использовать функции преобразования международных доменов (IDN). 🔸 Обеспечивает кросс-версийную совместимость — особенно полезно, если код должен работать в разных окружениях, где могут быть разные версии PHP и разные расширения. Основная функциональность Обеспечивает функцию idn_to_ascii() — перевод домена в ASCII-представление (например, для международных доменов с нелатинскими символами). Обеспечивает функцию idn_to_utf8() — обратный перевод из ASCII формы в UTF-8. Установка Можно просто добавить в проект через Composer: composer require symfony/polyfill-intl-idn Когда особенно полезна 🔹 В проектах, которые должны поддерживать работу на серверах с минимальными расширениями PHP. 🔹Когда нужно надёжно работать с доменами, содержащими не-ASCII символы (например, русские домены, домены на арабском, китайском и др.). 🔹 В библиотеках или пакетах, которые распространяются и должны работать на максимально широком диапазоне окружений. 👉 Github Библиотека пхпшника #инструменты

🧩 Расширенные паттерны для Symfony HttpClient: потоковая передача, ретраи и отказоустойчивость Если вы хоть раз писали $client->request('GET', ...) и $response->toArray(), значит, уже пользовались symfony/http-client. Для простых случаев этого хватает. Но реальность другая: – 100 API-эндпоинтов нужно получить за секунды, а не минуты – JSON на 500 МБ не должен взорвать память – API периодически “флапает”, а приложение должно выжить – токен OAuth2 живёт 60 минут — и должен обновляться сам 💡 И тут выясняется, что HttpClient — не просто обёртка над curl, а мощный инструмент для сложных систем. ⚡️ 1. Конкурентные запросы через stream() Обычный foreach делает запросы последовательно: 10 запросов × 300 мс = 3 сек. С stream() всё иначе — запросы идут параллельно, и общее время ≈ самому медленному из них.
foreach ($productIds as $id) {
    $responses[$id] = $client->request('GET', "products/$id");
}
foreach ($client->stream($responses) as $r => $chunk) {
    if ($chunk->isLast()) $prices[] = $r->toArray()['price'];
}
👉 10 запросов за ~300 мс вместо 3 секунд. 🧠 2. Потоковый парсинг JSON (новинка Symfony 7.3) symfony/json-streamer позволяет читать огромные JSON-файлы без загрузки их целиком в память.
composer require symfony/json-streamer
foreach ($streamReader->read($response, Type::list(Type::object(ProductDto::class))) as $product) {
    // обработка 2 млн объектов без OutOfMemory
}
🧱 3. Надёжность: Retry + Circuit Breaker RetryableHttpClient сам повторит запросы при 503/504. А если API “упало” — кастомный CircuitBreakerClient отключает обращения на 60 секунд, чтобы не “молотить мёртвый сервис”. 🔐 4. Автоматический OAuth2 AccessTokenHttpClient берёт токен из кэша и обновляет его по необходимости. Больше никаких ручных проверок if ($token->isExpired()). 🧪 5. Тестирование без сети MockHttpClient с генератором позволяет точно проверить последовательность и данные запросов. Тесты становятся детерминированными и быстрыми. 🔗 Ссылка на статью 🐸 Библиотека пхпшника

💻 Хочешь MacBook Pro? Просто начни учиться! Да-да, вы не ослышались: Proglib.academy дарит макбук за учёбу! Всё просто: — ку
💻 Хочешь MacBook Pro? Просто начни учиться! Да-да, вы не ослышались: Proglib.academy дарит макбук за учёбу! Всё просто: — купи любой курс Академии до 15 ноября; — пройди 2 недели обучения (можно за два дня); — напиши куратору в чате курса хэштег #розыгрыш. 📚 Выбирай свой курс: ▫️ «Математика для DS» — для тех, кто хочет уверенно работать с данными; ▫️ «Основы Python» — чтобы начать писать код с нуля; ▫️ «Алгоритмы и структуры данных» — для будущих инженеров; ▫️ «AI-агенты» или «Машинное обучение» — для тех, кто хочет прокачаться в ИИ. 👉 Участвовать в розыгрыше

«Как я добавил систему рекомендаций контента в легаси-проект на PHP 7.2» Проект на легаси PHP, обновить времени нет, а бизнес
«Как я добавил систему рекомендаций контента в легаси-проект на PHP 7.2» Проект на легаси PHP, обновить времени нет, а бизнес требует «сделайте поиск как у ChatGPT». Знакомо? Так вот — автор статьи столкнулся именно с этим. Нужно было внедрить векторный поиск и рекомендательную систему, но проект жил на старом PHP 7.2, где современных клиентов под Qdrant просто нет. 💡 Решение? Написать свой клиент под старую версию. И теперь даже на PHP 7.2 можно: — реализовать умный поиск по смыслу, а не по словам; — строить рекомендации для товаров и статей; — искать дубликаты и похожий контент; — автоматически категоризировать тексты; — сделать полноценный RAG-модуль поддержки. 📚 В основе — простая идея: текст → вектор → поиск ближайших векторов в Qdrant. Никакой магии, просто математика. 👉 Автор выложил готовую библиотеку и минимальный пример работы — прямо в статье. 🤖 А вы когда-нибудь внедряли AI-фичи в легаси-проекты? Расскажите в комментариях

💡 Совет по Laravel: Получение исходных атрибутов Аксессоры Laravel позволяют преобразовывать атрибуты модели при их извлечен
💡 Совет по Laravel: Получение исходных атрибутов Аксессоры Laravel позволяют преобразовывать атрибуты модели при их извлечении. Но иногда может потребоваться получить исходное значение. Laravel предоставляет специальный метод для этого: getRawOriginal 🚀

💻 ВАЖНО: макбук ещё не забрали! Proglib.academy продолжает розыгрыш MacBook Pro 14» (M3 Pro, 36 Гб, 1 Тб SSD). Что нужно для
💻 ВАЖНО: макбук ещё не забрали! Proglib.academy продолжает розыгрыш MacBook Pro 14» (M3 Pro, 36 Гб, 1 Тб SSD). Что нужно для участия? — Берёшь любой курс Академии до 15 ноября. — Проходишь хотя бы 2 недели обучения (можно за два дня). — Пишешь куратору #розыгрыш. Всё — ты в игре! Что за курсы? ▫️Алгоритмы и структуры данных — если хочешь готовиться к собесам в Яндекс, FAANG и не сидеть на джуне вечно. ▫️Архитектуры и шаблоны проектирования — учат думать как senior, а не просто писать код. ▫️ Python, математика для DS, основы IT и другие темы — можно стартовать с нуля или усилить то, что уже знаешь. 👉 Влетай, не думай!

⌨️ Топ-вакансий по PHP за неделю Backend разработчик (Middle/Senior) — от 180 000 до 290 000 ₽, Удалёнка (Москва) PHP разработчик — 150 000 — 300 000₽, Офис (Казань) PHP-разработчик — от 270 000 ₽, Офис (Новосибирск) Senior PHP Developer (Symfony) — Удалёнка (Санкт-Петербург) ➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs

💬 Ежемесячная ветка PHP-разработчиков Друзья, открываем новую ветку для обмена проектами, идеями и кодом. Если вы пилите свой pet-project, боретесь с архитектурой, настраиваете CI или просто хотите услышать мнение других — делитесь здесь 👇 Что можно постить: 🧩 куски кода и архитектурные решения 🧠 вопросы по оптимизации, безопасности, тестам 🛠️ свои открытые проекты или библиотеки 💬 размышления о фреймворках, паттернах и подходах Пусть эта ветка станет местом, где PHP-сообщество помогает друг другу расти — без токсичности, с уважением к чужому опыту и с любовью к чистому коду ❤️ 👇 Делитесь своими проектами в комментариях!