Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
11K subscribers
1.54K photos
27 videos
26 files
4.27K links
Все самое полезное для пхпшника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/bca892d6

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
⌨️ Топ-вакансий по PHP за неделю

Веб-разработчик (PHP) в продукт из сферы FinTech — до 500 000 ₽, Удалёнка (Москва)

Backend Developer — до 4 000 $, Удаленка (Москва)

Middle+ PHP / Fullstack Developer — до 300 000₽, Офис (Москва)

➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs
🤨 Вопрос, от которого сгорело

Собеседования это стресс. И не всегда в стрессе можно ответить на вопрос так, как было задумано. Некоторые вопросы настолько мозговыносящие, что невольно думаешь про интервьюера самые плохие мысли.

💬 Накидайте в комменты вопросов, которые ввели вас в ступор или просто заставили сгореть после собеса 👇

🐸 Библиотека пхпшника
Please open Telegram to view this post
VIEW IN TELEGRAM
🔸Вы можете использовать readStream и writeStream, чтобы скопировать файл (или все файлы из папки) с одного диска на другой, сохраняя низкое использование памяти.

Библиотека пхпшника

📍 Навигация: ВакансииЗадачиВопросы с собеса
This media is not supported in your browser
VIEW IN TELEGRAM
Умная навигация для PHP-проектов в вебе

Современный PHP — это строгая типизация, интерфейсы и активное использование DI. Читать такой код как простой текст во время код-ревью сложно: нужно понимать, какой именно класс скрывается за интерфейсом и где он реализован.

Платформа SourceCraft переносит удобство PHPStorm в браузер. В интерфейсе пулл-реквеста работают переходы к определениям классов, методов и констант. Это позволяет проводить глубокое ревью архитектуры и логики без необходимости переключаться на локальную машину.

Попробуйте, как это ускоряет процесс → https://sourcecraft.dev/code-navigation-demo/uikit/pr/2040
🔥7
🎓 Твой опыт стоит дорого — стань экспертом Proglib Academy

Чувствуешь, что накопил достаточно знаний, чтобы делиться ими с другими?

Мы ищем сильных практиков, которые хотят попробовать себя в роли:

— преподавателей;
— авторов курсов;
— наставников.

Это возможность не только монетизировать экспертизу, но и прокачать личный бренд, структурировать собственные знания и вырастить новое поколение специалистов.

👉 Заполни короткую анкету
Коллеги, в PHP всё чаще требуют не только код, но и понимание, как он живёт в проде.
Docker, CI/CD, деплой, очереди — это уже базовый минимум.

Чтобы не разбираться в этом в последний момент перед собесом или релизом, читайте DevOps-канал из нашей сетки.
Практика, реальные кейсы, без лишней теории.

👉 Библиотека DevOps@devopsslib
PHP жив, а легаси можно взбодрить Агентами

Представьте: старый добрый Laravel-проект, к которому подключены AI-агенты. Они разбирают тикеты поддержки, генерируют контент и анализируют логи. Это реалии 2026 года.

Мы полностью обновили курс «Разработка AI-агентов».

Раньше это было "для ML-щиков". Теперь — для всех, кто хочет делать современный веб.
Фичи:

LangFlow: Визуальное программирование логики (No-code трек).
Интеграции: Как подружить агентов с базой и API.
Практика: Создание реальных помощников для бизнеса.

🎁 Акция 3 в 1:

Берешь курс по агентам — получаешь два курса в подарок. Отличный повод наконец-то выучить алгоритмы или базу компьютерных наук.

Врываемся в будущее
🥱7
💡Совет по Laravel: метод «withToken()»

Знаете ли вы, что HTTP-клиент Laravel имеет метод withToken(), который можно использовать для установки токенов беарера? 🚀

Библиотека пхпшника

📍 Навигация: ВакансииЗадачиВопросы с собеса

#vardump
👍14
Пишем HTTP-сервер на php и сокетах

Если вы пишете на PHP, то Apache или Nginx — привычный фон. Но чтобы реально понять HTTP, полезно однажды собрать сервер своими руками.

В статье разбирается базовая механика HTTP без магии фреймворков:
— что на самом деле делает HTTP-сервер
— как выглядит «сырой» HTTP-запрос и ответ
— где заканчиваются заголовки и начинается тело
— как слушать порт и принимать соединения в PHP
— как написать минимальный HTTP-сервер через stream_socket_server()

В итоге получается рабочий сервер на чистом PHP: принимает запросы, парсит метод/путь/заголовки и возвращает корректные HTTP-ответы.

🔗 Хабр

Библиотека пхпшника
🔥93
Что будет результатом выполнения данного скрипта?
🌚5😁1
Как Geocodio поддерживает в актуальном состоянии 300 миллионов адресов

Geocodio поддерживает актуальность более 300 миллионов адресов с помощью собственной системы обработки данных Chop Chop.

Как обновляются адресные данные
Адреса постоянно меняются: появляются новые дома, улицы, пересматриваются границы участков. Чтобы поддерживать базу в актуальном состоянии, Geocodio использует почти 3 000 источников данных и автоматизированный конвейер обработки.

Система Chop Chop
Chop Chop — внутренняя платформа компании, построенная на Laravel и SQLite. Она управляет поступающими данными, очищает, нормализует и проверяет их. Благодаря системе очередей в Laravel Horizon данные из сотен источников обрабатываются параллельно на мощных серверах.

В системе есть визуальный редактор, позволяющий корректировать данные вручную. Для массовых исправлений используются SQL-запросы.

Этапы обработки данных
1. Получение данных — большинство источников (городские и окружные администрации) обновляются еженедельно.
2. Конвертация форматов — сырые данные приводятся к единому виду (GeoJSON).
3. Обогащение — добавляются недостающие почтовые коды, города, корректируются адресные записи.
4. Валидация — проверяются корректность номеров домов, координат и других параметров. Если качество данных низкое, они отбрасываются (до 30% записей).
5. Проверка изменений — если в новой версии есть значительные отличия, их передают на ручную проверку.

Развертывание обновлений
Каждую ночь Chop Chop собирает свежие данные в агрегированную базу SQLite. Затем тестируется геокодер, и перед развертыванием изменений их проверяет человек.

Благодаря заранее подготовленным копиям базы данных обновления разворачиваются быстро — достаточно переключить систему на новую версию.

👉Читать подробнее
2
📚 Psl — Современный, централизованный, хорошо типизированный, неблокируемый набор API

Библиотека представляет собой современную, согласованную, централизованную и строго типизированную стандартную библиотеку для PHP. Ее цель — предоставить разработчикам PHP набор неблокирующих API, которые упрощают и стандартизируют выполнение общих задач, таких как работа со строками, массивами, генерация случайных чисел и другие операции.

Использование этой библиотеки может поспособствовать повышению качества и читаемости кода, обеспечивая единообразие и надежность при решении повседневных задач.

🔗Github

Библиотека пхпшника

#инструменты
🔐 How-to: быстрая подготовка Laravel к пентесту

Грамотная подготовка к пентесту экономит время, деньги и нервы. Ниже — практичный чек-лист для PHP/Laravel-команд, чтобы тест выявил реальные уязвимости, а не очевидные косяки.

1️⃣ Документация
актуальная архитектура и окружения;
описание ключевых роутов и бизнес-флоу;
краткие заметки для тестеров.

2️⃣ Доступы
отдельные тестовые аккаунты с ролями;
никаких реальных данных;
allowlist IP при необходимости.

3️⃣ Разрешения
письменное согласие владельцев систем;
чёткий scope и сроки теста.

4️⃣ Коммуникация
предупредите dev/ops/management;
обозначьте риски и контакты для инцидентов.

5️⃣ Базовая безопасность Laravel
Eloquent / Query Builder → защита от SQLi
Blade + валидация → XSS
@csrf, Secure + SameSite cookies
HTTPS + HSTS
rate-limit против DDoS
принцип минимальных прав
безопасная загрузка файлов
APP_DEBUG=false, закрытые .env, storage, vendor

6️⃣ Зависимости

composer audit
composer update --dry-run roave/security-advisories

7️⃣ Перед стартом
backup БД и файлов;
включённые логи и мониторинг;
план реагирования.

🔗 Medium

Библиотека пхпшника
3
⌨️ Топ-вакансий по PHP за неделю

Junior / Middle PHP Developer — от 120 000 до 220 000 ₽, Удалёнка/гибрид (Санкт-Петербург)

PHP Developer (Middle+ / Senior) — 4 500 —‍ 5 300 $, Удаленка (Латинская Америка/Канада)

PHP Symfony Developer (Senior) — 250 000 до 350 000 ₽, Удаленка (Москва)

➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs
😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Как внедрить AI в проект и не сломать архитектуру? 🐘

Пора перестать просто слать запросы к моделям и начать строить полноценные ИИ-решения. Мы учим создавать автономных агентов, которые работают по вашим правилам и легко интегрируются в бэкенд.

Что вы получите:

автоматизацию в n8n для связи PHP-кода с AI-логикой через удобные сценарии;
работу с данными через RAG на базе Pinecone и Chroma для точности ответов;
управление диалогом в LangGraph для сохранения контекста и обработки ошибок;
мониторинг качества через LangSmith для отслеживания работы системы.

Сделайте свой бэкенд интеллектуальным и надёжным.

Присоединиться к курсу
SwooleApp: Легковесный фреймворк для Swoole

Если вы работали с Swoole напрямую, то знаете: производительность — отличная, но структуры часто не хватает.


SwooleApp закрывает именно эту дыру — это лёгкий каркас для долгоживущих PHP-приложений без лишнего boilerplate.

Что такое SwooleApp
SwooleApp — фреймворк для PHP, работающий как постоянно запущенный сервер, а не «PHP-скрипт на запрос».
Это даёт:
без перезапуска PHP на каждый запрос
меньше overhead и выше RPS
♻️ переиспользование ресурсов (Redis, БД, кэши)
🧵 асинхронность и фоновые задачи из коробки

Что есть внутри
Роутинг через PHP 8 attributes
Middleware
Task Workers для блокирующих операций
Встроенный «cron» (Cyclic Jobs)
State Container для пулов соединений и shared-ресурсов
Минимальная и прозрачная архитектура

Пример приложения (готово к запуску)
В репозитории есть demo-проект с Docker:
REST API для Redis (get / set)
Фоновая задача с имитацией тяжёлой работы
Циклическая джоба (лог раз в 10 секунд)
Middleware с замером времени
docker-compose up → всё работает

Ключевая идея: State Container
SwooleApp использует долгоживущие воркеры, поэтому:
пулы Redis / БД создаются один раз при старте
соединения переиспользуются
нет постоянного connect/disconnect
⚠️ Важно: контейнер изолирован на воркер — 4 воркера = 4 пула. Это ограничение архитектуры Swoole.

Task Workers — зачем они нужны
Любая блокирующая операция = стоп HTTP-воркера.
Решение:
HTTP-воркер отдаёт задачу в Task Worker
сам продолжает обслуживать запросы
результат возвращается асинхронно
Так сервер не «залипает» на sleep(), I/O или тяжёлых запросах.

Почему не Laravel / Symfony + Swoole
Коротко и честно:
они проектировались под stateless PHP-FPM
глобальное состояние → утечки памяти
ORM без пулов соединений
много блокирующего кода
для стабильности нужно слишком много воркеров
В итоге теряется смысл Swoole.
SwooleApp проектировался сразу под long-living процессы, без костылей.

Кому подойдёт
микросервисы и API
high-load
real-time / async
если хочется Swoole, но без боли
если Laravel/Symfony на Swoole разочаровали
Это не замена Laravel, а лёгкий каркас для другой задачи.

👉 Хабр

Библиотека пхпшника
3
🎅 Секретный Санта для айтишников от Proglib.academy

Весь этот год команда Академии запускала курсы для айтишников. А под Новый год мы запускаем новый курс по ИИ-агентам и ставим под ёлку самый свежий стек 2025 года и обучение проектированию автономных нейросетевых экосистем — от LLM и ReAct-циклов до мультиагентных систем, LangGraph, AutoGen и продакшн-практик.

🎁 Хотим дарить подарки и приглашаем вас поучаствовать в конкурсе:

1️⃣ Упомяните курс Академии у себя в блоге.
2️⃣ Пришлите скрин сюда.
3️⃣ Получите секретный промокод на 10 000 ₽ при оплате любого курса.

Подходит всё — соцсети, блоги, Telegram-каналы от 300 подписчиков и более.

🎄 Акция действует до Нового года.

Win-win, всё как мы любим!
🌚1