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

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

الذهاب إلى القناة على Telegram

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

إظهار المزيد

📈 نظرة تحليلية على قناة تيليجرام Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter

تُعد قناة Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter (@phpproglib) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 10 703 مشتركاً، محتلاً المرتبة 11 598 في فئة التكنولوجيات والتطبيقات والمرتبة 61 274 في منطقة روسيا.

📊 مؤشرات الجمهور والحراك

منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 10 703 مشتركاً.

بحسب آخر البيانات بتاريخ 05 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -34، وفي آخر 24 ساعة بمقدار -1، مع بقاء الوصول العام مرتفعاً.

  • حالة التحقق: غير موثّقة
  • معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 15.28‎%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 9.13‎% من ردود الفعل نسبةً إلى إجمالي المشتركين.
  • وصول المنشورات: يحصل كل منشور على متوسط 1 637 مشاهدة. وخلال اليوم الأول يجمع عادةً 978 مشاهدة.
  • التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 11.
  • الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل php, laravel, пхпшника, artisan, api.

📝 الوصف وسياسة المحتوى

يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
Все самое полезное для пхпшника в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/bca892d6 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b

بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 07 يونيو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.

10 703
المشتركون
-124 ساعات
-97 أيام
-3430 أيام
أرشيف المشاركات
Хуки свойств в PHP: геттеры и сеттеры не нужны В PHP 8.4 появилась долгожданная возможность — хуки свойств. Это встроенная логика чтения и записи значения прямо в объявлении свойства. Без отдельных методов, без шаблонных getSomething() и setSomething(). Код становится компактнее, выразительнее и проще для сопровождения. 🤔 В чём была проблема раньше До этого у разработчиков было всего два варианта: 🧱 классический подход с приватными полями и методами доступа; ⚙️ promoted-properties из конструктора — удобно, но без логики. Минус был общий: ❌ негде аккуратно разместить валидацию; ❌ сложно добавить логирование изменений; ❌ неудобно реализовать ленивые вычисления; ❌ класс быстро разрастался вспомогательными методами. ✨ Что изменилось с хуками Теперь PHP позволяет перехватывать: 👀 момент чтения свойства; ✍️ момент записи значения. При этом: 📌 снаружи используется привычный доступ к свойству; 🧠 внутри — чётко определённое место для логики; 🧩 в одном классе можно сочетать обычные свойства и свойства с хуками. 🧮 Виртуальные свойства PHP 8.4 позволяет создавать свойства без собственного хранилища. Такие свойства: 🪄 не занимают память; 🔄 вычисляются при каждом обращении; 🧩 выступают как интерфейс к другим данным объекта. Полезно для: объединённых представлений данных; вычисляемых значений; упрощения публичного API модели. 🧬 Наследование и контроль поведения Хуки полностью поддерживают наследование: 🔁 поведение можно расширять или переопределять; 🔒 отдельные хуки можно пометить как final; 🧱 контроль инвариантов остаётся на стороне базового класса. По возможностям это сопоставимо с методами, но на уровне свойств. ⚠️ Важные ограничения Есть особенности, которые важно учитывать: 🚫 хуки несовместимы с readonly-свойствами; 🔗 изменение по ссылке может обойти логику записи; 🧪 не все внутренние функции PHP вызывают хуки одинаково. Это не ошибки, а архитектурные компромиссы. 🔗 Хабр Библиотека пхпшника

How to: Web3 на PHP (Symfony 7.4) — без магии и костылей Миф «PHP умер» не подтверждается уже больше десяти лет. Миф «PHP не
How to: Web3 на PHP (Symfony 7.4) — без магии и костылей Миф «PHP умер» не подтверждается уже больше десяти лет. Миф «PHP не подходит для Web3» — из той же категории. Пока Node.js доминирует во фронтенде dApp’ов, PHP + Symfony стабильно закрывают инфраструктурную часть Web3: 🔸 индексируют on-chain данные в off-chain хранилищах 🔸 управляют enterprise-кошельками и ключами 🔸 связывают Web2-бизнес-логику с Web3-протоколами В статье разобрана production-ready Web3-интеграция на Symfony 7.4 и PHP 8.3+: 🔹 работа с блокчейном через JSON-RPC 🔹 взаимодействие с ERC-20 контрактами 🔹 аутентификация через Sign-In with Ethereum (без паролей) 🔹 обработка on-chain событий через Symfony Messenger 👉 Полный разбор архитектуры и кода — в статье Библиотека пхпшника

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

🗂️Библиотека: разделение базового файла PHPStan Пакет предназначен для разделения базового файла PHPStan на несколько файлов
🗂️Библиотека: разделение базового файла PHPStan Пакет предназначен для разделения базового файла PHPStan на несколько файлов, каждый из которых соответствует определенному идентификатору ошибки. Это позволяет более эффективно управлять и анализировать ошибки в вашем проекте. Основные возможности: 🔸Разделение базового файла: Пакет разбивает общий файл phpstan-baseline.neon на отдельные файлы в директории baselines/, где каждый файл соответствует конкретному идентификатору ошибки. 🔸Поддержка форматов: Поддерживаются как форматы neon, так и php для базовых файлов. 🔗 GitHub #инструменты

Как синхронизировать блокчейн и базу данных без расхождений Одна из ключевых проблем блокчейн-бэкенда — точно отразить on-cha
Как синхронизировать блокчейн и базу данных без расхождений Одна из ключевых проблем блокчейн-бэкенда — точно отразить on-chain состояние в off-chain базе. Не «примерно», не «потом поправим», а один в один. В статье разобран production-подход на PHP: — создание off-chain сущности до вызова блокчейна — ожидание подтверждения транзакции в Soroban — декодирование XDR через Stellar SDK — корректная работа с I128, timestamp и enum — маппинг результата смарт-контракта в Doctrine entity — фиксация как успешных, так и failed-транзакций Если вы строите off-chain логику поверх Stellar — это обязательный паттерн, а не опция. 🔗 Читать статью Библиотека пхпшника

🚀 Variable Scope, References, Closures & use в PHP Граница между «пользователем фреймворка» и инженером, который понимает язык. Если PHP для вас — не только Laravel-контроллеры, эти концепции обязательны. Они напрямую влияют на читаемость, баги и архитектуру кода. 🧠 1. Область видимости (Scope) Где переменная живёт и умирает. • Local — существует только внутри функции • Global — доступна везде, но требует global (плохая практика) • Static — локальная, но помнит состояние между вызовами 📌 Static — ключ к счётчикам, генераторам ID, singleton-паттернам ❌ Global — почти всегда архитектурный запах 🔗 2. Ссылки (&) — работа с оригинальными данными По умолчанию PHP копирует значения. С & — вы работаете с той же памятью. • Передача аргументов по ссылке • Алиасы переменных • Опасность в foreach (&$v)обязательно unset($v) 📌 Используйте осознанно. Ссылки — мощный, но острый инструмент. 🧩 3. Closures — функции с памятью Анонимные функции, которые можно: • передавать • хранить • выполнять позже И главное — они помнят контекст, где были созданы. 🎯 4. use — захват переменных Closure не видит внешний scope автоматически. • use ($var) — захват по значению • use (&$var) — захват по ссылке 📌 Это основа колбеков, фильтров, middleware, event-handlers. 📍 5. Лексическая область видимости Правило простое, но критичное:
Closure использует переменные из места создания, а не из места выполнения.
Это объясняет 90% «магических» багов с колбеками. 💻 6. Реальный кейс array_filter, array_map, usort — без closures + use они бесполезны. Динамические условия, конфигурации, runtime-логика — всё строится на этом. 👉 Читать статью Библиотека пхпшника

💡Совет по Laravel: Отказ как «Не найдено» При определении шлюзов или политик из соображений безопасности мы часто предпочита
💡Совет по Laravel: Отказ как «Не найдено» При определении шлюзов или политик из соображений безопасности мы часто предпочитаем возвращать код 404 вместо 403. Laravel предоставляет для этой цели метод denyAsNotFound() 🚀 Библиотека пхпшника #vardump

PHP-разработчик в мире AI: создаём агентов и внедряем в прод 🐘 Думали, AI — это только Python? На самом деле, главное — это
PHP-разработчик в мире AI: создаём агентов и внедряем в прод 🐘 Думали, AI — это только Python? На самом деле, главное — это архитектура и API. Мы научим вас строить мультиагентные системы, которые усилят любой проект. Чему вы научитесь: — строить «мозг» агента с помощью паттерна ReAct; — оркестровать процессы в удобном интерфейсе n8n; — соединять агентов в команды через CrewAI и AutoGen; — внедрять RAG для поиска по базам знаний за миллисекунды. Станьте тем, кто не просто пишет код, а создаёт автономные интеллектуальные системы. Узнать подробности 🚀

📚 Learn Docker in a Month of Lunches, 2nd Edition (2025) Книга учит основам работы с Docker за 22 коротких урока, каждый из
📚 Learn Docker in a Month of Lunches, 2nd Edition (2025) Книга учит основам работы с Docker за 22 коротких урока, каждый из которых можно пройти за один обед. Да, без ночных марафонов с документацией. Что разберешь: 🔹 Как запускать приложения в контейнерах на Linux, Windows и macOS. И наконец перестать писать «ну у меня локально работает». 🔹 Создание и публикация Docker-образов. Собрать → упаковать → отправить в реестр — без магии и слёз. 🔹 Мультиконтейнерные приложения. Docker Compose и Kubernetes как инструменты, а не загадочные существа. 🔹 Наблюдаемость. Как добавить метрики и логи, чтобы понимать, что происходит внутри контейнера. 🔹 CI/CD и облака. Запуск контейнеров в Azure и GCP, деплой через GitHub Actions — практично, коротко, по делу. 🔹 Работа с легаси. Да, можно упаковать Windows-приложение в контейнер и не переписывать всё с нуля. 🔹 Оптимизация образов. Скорость, безопасность и размер — чтобы твой Dockerfile не выглядел как мамонт. Книга хороша тем, что в ней нет «истории технологий» и прочего «бла-бла», которое съедает время. Только практические уроки и лабораторки, которые можно выполнить между созвонами. 🔗 Скачать 🔹 Курс «Основы IT для непрограммистов» 🔹 Получить консультацию менеджера 🔹 Сайт Академии 🔹 Сайт Proglib 🐸 Книги для программистов | Поддержать бустом

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

Знаете ли вы, что Laravel предоставляет метод missing() для настройки поведения привязки модели маршрута по умолчанию, когда
Знаете ли вы, что Laravel предоставляет метод missing() для настройки поведения привязки модели маршрута по умолчанию, когда модель не найдена? 🚀 Библиотека пхпшника #vardump

WANTED: PHP-МАСТЕР Обвиняется в написании качественного кода на PHP, вопреки всем мемам. Мы ищем того, кто поднимет планку об
WANTED: PHP-МАСТЕР Обвиняется в написании качественного кода на PHP, вопреки всем мемам. Мы ищем того, кто поднимет планку обучения в PHP-сообществе. Приметы: — в совершенстве знает PHP (знание Python или Go приветствуется); — умеет готовить современные фреймворки и чистую архитектуру; — готов делиться знаниями с большой аудиторией; — хочет стать медийным экспертом. Условия: — гонорар за разработку материалов; — рост личного бренда и узнаваемости; — поддержка команды Proglib. Сдаться властям P.S. Видел пхпшника, который пишет как бог? Сдай его нам.

🧠 Обрабатывайте большие наборы данных порциями (Chunk) в Laravel ⚡ Почему это важно Когда в таблице тысячи или миллионы записей, обычный get() или all() загрузит все строки в память сразу — это: ❌ сильно расточительно по памяти, ❌ может привести к падению по OOM, ❌ скрипт может не успеть выполнить работу целиком. Для таких ситуаций Laravel предлагает метод chunk(), который загружает данные частями (порциями) вместо всего набора сразу. 🧰 Что делает chunk() Метод chunk() берет определённое количество записей за раз и передает их в callback для обработки. Laravel автоматически загрузит следующую партию после завершения предыдущей.


use App\Models\User;

User::chunk(200, function ($users) {
 foreach ($users as $user) {
 // обработка каждого пользователя
 }
});
📌 В этом примере Laravel: загружает 200 пользователей за раз, обрабатывает их, затем переходит к следующей партии. 🧠 Почему это крутоСнижение пикового потребления памяти Вместо загрузки всей таблицы в память — всего 200 записей. Это позволяет обрабатывать десятки и сотни тысяч строк без OOM. ✨ Меньше рисков таймаута Когда вы делаете работу по частям, выполнение разбивается на небольшие, предсказуемые блоки. ✨ Гибкость для batch-обновлений/экспортов Дизайн идеально подходит для миграций, обновлений атрибутов, экспортов CSV и фоновых задач. 🔍 Немного про chunkById() и улучшения Если код обновляет записи внутри цикла, обычный chunk() может вести себя непредсказуемо, потому что набор может меняться. В таких случаях лучше использовать chunkById(), который гарантирует постоянный порядок по id и предотвращает пропуски/повторы при обновлениях.


User::chunkById(200, function ($users) {
 foreach ($users as $user) {
 $user->update(['active' => true]);
 }
});
🧠 Продвинутые приёмы 💡 Жадная загрузка связей: если в обработке вам нужны связи (->with('profile')), загружайте их вместе с батчами — это предотвращает N+1-проблемы внутри chunk.


User::with('orders')->chunk(200, function ($users) {
 foreach ($users as $user) {
 // $user->orders уже загружены
 }
});
💡 Используйте в фоновых командах или джобах: chunk() отлично подходит для консольных команд и jobs, которые работают с большими массивами данных и не должны завершиться по таймауту. 🧠 Когда chunk — не лучший выбор ❗ Если вам нужно просто вывести данные на страницу пользователю — лучше использовать пагинацию, а не chunk. chunk больше для обработки данных внутри приложения, а не для отдачи клиенту. Библиотека пхпшника

🎅 Секретный Санта для айтишников от Proglib.academy Весь этот год команда Академии запускала курсы для айтишников. А под Нов
🎅 Секретный Санта для айтишников от Proglib.academy Весь этот год команда Академии запускала курсы для айтишников. А под Новый год мы запускаем новый курс по ИИ-агентам и ставим под ёлку самый свежий стек 2025 года и обучение проектированию автономных нейросетевых экосистем — от LLM и ReAct-циклов до мультиагентных систем, LangGraph, AutoGen и продакшн-практик. 🎁 Хотим дарить подарки и приглашаем вас поучаствовать в конкурсе: 1️⃣ Упомяните курс Академии у себя в блоге. 2️⃣ Пришлите скрин сюда. 3️⃣ Получите секретный промокод на 10 000 ₽ при оплате любого курса. Подходит всё — соцсети, блоги, Telegram-каналы от 300 подписчиков и более. 🎄 Акция действует до Нового года. Win-win, всё как мы любим!

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, а лёгкий каркас для другой задачи. 👉 Хабр Библиотека пхпшника

Как внедрить AI в проект и не сломать архитектуру? 🐘 Пора перестать просто слать запросы к моделям и начать строить полноценные ИИ-решения. Мы учим создавать автономных агентов, которые работают по вашим правилам и легко интегрируются в бэкенд. Что вы получите: — автоматизацию в n8n для связи PHP-кода с AI-логикой через удобные сценарии; — работу с данными через RAG на базе Pinecone и Chroma для точности ответов; — управление диалогом в LangGraph для сохранения контекста и обработки ошибок; — мониторинг качества через LangSmith для отслеживания работы системы. Сделайте свой бэкенд интеллектуальным и надёжным. Присоединиться к курсу

⌨️ Топ-вакансий по 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

🔐 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 Библиотека пхпшника