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

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

Відкрити в Telegram

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

Показати більше

📈 Аналітичний огляд Telegram-каналу Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter

Канал Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter (@phpproglib) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 10 517 підписників, посідаючи 11 315 місце в категорії Технології та додатки та 60 496 місце у регіоні Росія.

📊 Показники аудиторії та динаміка

З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 10 517 підписників.

За останніми даними від 28 серпня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -65, а за останні 24 години на -2, загальне охоплення залишається високим.

  • Статус верифікації: Не верифікований
  • Рівень залученості (ER): Середній показник залученості аудиторії становить 19.22%. Протягом перших 24 годин після публікації контент зазвичай збирає 9.53% реакцій від загальної кількості підписників.
  • Охоплення публікацій: В середньому кожен допис отримує 2 022 переглядів. Протягом першої доби публікація в середньому набирає 1 002 переглядів.
  • Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 14.
  • Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як php, laravel, пхпшника, artisan, api.

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

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

Завдяки високій частоті оновлень (останні дані отримано 29 серпня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.

10 517
Підписники
-224 години
-127 днів
-6530 день
Архів дописів
📚 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-сообщество помогает друг другу расти — без токсичности, с уважением к чужому опыту и с любовью к чистому коду ❤️ 👇 Делитесь своими проектами в комментариях!