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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
PHP Datatypes: Строгий и безопасный способ работы с примитивными типами данных

Эта библиотека представляет гибкий, но строгий способ работы с примитивными типами данных, такими как целые числа, плавающие и строки, в PHP. Она делает акцент на безопасности типов и точности, поддерживая операции для подписанных и беззнаковых целых чисел (Int8, UInt8 и т.д.) и различных форматов с плавающей точкой (Float32, Float64 и т.д.).

Для чего это нужно:

🟢Безопасность типов: Явно определяя типы данных, например UInt8, вы устраняете риск проникновения недопустимых значений в ваше приложение. Например, использование целых чисел без знака гарантирует, что значение останется в допустимых диапазонах, обеспечивая защиту от неожиданного ввода данных.

🟢Точность: Работа с точными значениями, особенно с числами с плавающей точкой, может быть сложной в PHP из-за того, как он управляет плавающими числами нативно.

🟢Защита диапазонов: Указывая точные диапазоны, вы можете предотвратить такие проблемы, как переполнение или недополнение, которые часто остаются незамеченными в языках с динамической типизацией.

🟢Удобство чтения и обслуживания: Явные типы данных улучшают читаемость кода. Когда разработчик читает ваш код, он сразу же понимает, какой тип значения ожидается и какие ограничения на него накладываются. Это повышает удобство сопровождения в долгосрочной перспективе.

🔗 Github

Библиотека пхпшника #инструменты
👍3🔥1
Thumbhash PHP — читаемые идентификаторы

Это библиотека для создания уникальных, читаемых человеком идентификаторов из файлов изображений. Он вдохновлен алгоритмом Thumbhash Эвана Уоллеса и обеспечивает реализацию алгоритма на PHP.

Thumbhash — это компактное представление плейсхолдера для изображения. Создавайте его в соответствии с вашими данными в то время как реальное изображение грузится для более плавной загрузки.

👉 Github

Библиотека пхпшника #инструменты
👍21
static-php-cli — сборка в бинарный файл

Инструмент для сборки PHP-приложений в один бинарный файл без дополнительных зависимостей.

Он имеет множество фич:

👜 Сборка однофайлового исполняемого файла php, без каких-либо зависимостей
🍔 Сборка самораспаковывающегося исполняемого файла phpmicro (склеивание бинарного и исходного кода php в один файл)
💊 Автоматическая проверка окружения сборки (модуль Doctor)
Поддержка Linux, macOS, FreeBSD, Windows
🔧 Настраиваемые исправления исходного кода
📚 Управление зависимостями сборки
📦 Предоставление собственного автономного исполняемого файла spc (собранного spc и box)
🔥 Поддержка многих популярных расширений
💾 Интеграция UPX (значительно уменьшает размер бинарных файлов)

🔗 Github

Библиотека пхпшника #инструменты
4👍4🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
SPX — удобный профилировщик

Простое и понятное расширение для профилирования PHP со встроенным веб-интерфейсом. От других подобных расширений оно отличается тем, что:

🟢полностью бесплатное и ограниченное вашей инфраструктурой (т.е. никаких утечек данных в SaaS).
🟢Очень прост в использовании: просто установите переменную окружения (командная строка) или включите радиокнопку (веб-запрос) для профилирования вашего скрипта. Таким образом, вы освобождаетесь от необходимости ручного инструментирования кода (поддерживается даже Ctrl-C долго работающего скрипта командной строки).
🟢возможность получения множества метрик: в настоящее время поддерживается 22 метрики (различные метрики времени и памяти, включенные файлы, используемые объекты, ввод-вывод...).

🔗 Github

Библиотека пхпшника #инструменты
👍65
@platformatic/php-node — модуль для Node.js, который позволяет выполнять PHP-приложения внутри Node.js.

Он использует пул рабочих потоков Node.js для многопоточной обработки PHP-запросов, обеспечивая высокую производительность и масштабируемость без дополнительных усилий.

🔧 Ключевые особенности:

Легкая интеграция: Встраивайте PHP в Node.js приложения.

Многопоточная обработка: Параллельная обработка PHP-запросов с использованием Node.js.

Увеличение производительности: Комбинирует возможности PHP и Node.js для мощных решений.

Единая среда разработки: Упрощает работу с двумя языками в одном проекте.

🎯 Использование:

🔸 Миграция PHP приложений: Легко переносите старые PHP приложения в Node.js.
🔸 Гибридные приложения: Объединяйте возможности PHP и Node.js.
🔸 Веб-сервисы: Используйте сильные стороны PHP с производительностью Node.js.

🚀 Попробуйте php-node и улучшите свои приложения с минимальными усилиями! Подробнее в GitHub репозитории.

Библиотека пхпшника #инструменты
🤔2👍1
WebRTC PHP

Полная реализация протокола WebRTC на чистом PHP! Для использования не требуется Node.js или JavaScript на бэкенде. Однако вам потребуется включенный FFI.

Цель — упростить создание приложений на основе WebRTC на чистом PHP — включая медиа-серверы, веб-приложения для видеоконференций, SFU и peer-to-peer приложения.

🔗 Github

Библиотека пхпшника #инструменты
10👍3
php-internal/dload

Библиотека предназначена для упрощения процесса загрузки бинарных файлов из релизных активов на GitHub. Это особенно полезно для PHP-проектов, которым необходимо интегрировать сторонние инструменты или зависимости в виде бинарных файлов, таких как компиляторы, утилиты или другие исполнимые файлы.

Основные возможности

🔸 Автоматическая загрузка: DLoad позволяет автоматически скачивать необходимые бинарные файлы из релизных активов GitHub, что упрощает процесс интеграции внешних инструментов в проект.

🔸 Управление версиями: Библиотека помогает управлять версиями загружаемых бинарных файлов, обеспечивая соответствие между версией инструмента и версией вашего проекта.

🔸 Интеграция с Composer: DLoad может быть интегрирована с Composer, что позволяет автоматически загружать и обновлять бинарные зависимости при установке или обновлении пакетов.

Применение

DLoad полезна в сценариях, когда проект зависит от внешних бинарных инструментов, которые необходимо интегрировать в процесс сборки или разработки. Это может включать в себя такие задачи, как компиляция, обработка изображений, генерация PDF-файлов и другие операции, требующие использования сторонних исполнимых файлов.

🔗 Github

Библиотека пхпшника #инструменты
🤔3🔥2👍1
PHP-GLFW

Библиотека php-glfw — это расширение для PHP, которое предоставляет полноценную поддержку OpenGL и GLFW, позволяя создавать 2D и 3D графические приложения, такие как игры, научные симуляции и пользовательские интерфейсы, непосредственно на PHP. Это особенно полезно для разработчиков, желающих использовать PHP в графических приложениях, где традиционно используются языки, такие как C++ или Python.

🔧 Основные возможности

Полная поддержка OpenGL (4.1 и выше): Библиотека предоставляет доступ к GPU-ускоренному рендерингу, поддерживая около 90% стандартных возможностей OpenGL.

Интеграция с GLFW: PHP-GLFW включает привязки к библиотеке GLFW, обеспечивая кроссплатформенное создание и управление окнами, а также обработку ввода с клавиатуры, мыши и джойстиков.

API векторной графики: Вдохновленный HTML5 Canvas, этот API позволяет легко рисовать примитивы, работать с цветами, градиентами, изображениями и текстом, используя OpenGL-контекст.

Математическая библиотека PHPGL: Включает структуры данных и функции для работы с векторами, матрицами и кватернионами, оптимизированные для графических приложений.

Загрузчики текстур и моделей: Поддерживает загрузку изображений (.png, .jpg, .gif, .bmp, .tga) и 3D-моделей (.obj, .mtl), что упрощает процесс разработки.

Библиотека пхпшника #инструменты
🤔4🔥2👍1😁1
Dead code detector

Библиотека для обнаружения неиспользуемого кода с помощью расширения PHPStan. Обнаруживает мертвые циклы, поддерживает такие библиотеки, как Symfony, Doctrine, PHPUnit и др. Может автоматически удалять неиспользуемый PHP-код.

Легко установить через:

composer require --dev shipmonk/dead-code-detector

🔗 Github

Библиотека пхпшника #инструменты
💯4
🧅 Onion: Механизм многоуровневой обработки для PHP-приложений

Onion — это легкий пакет, предназначенный для облегчения многоуровневой обработки данных в приложениях. Он обеспечивает чистый и эффективный способ укладки слоев функциональности, позволяя разработчикам создавать гибкие и многократно используемые компоненты, которые легко компоновать и управлять ими. Каждый слой может выполнять определенную операцию над передаваемыми данными, что упрощает построение сложных рабочих процессов, сохраняя при этом четкое разделение задач.

👉 Github

Библиотека пхпшника #инструменты
4
This media is not supported in your browser
VIEW IN TELEGRAM
PHP TUI

Фреймворк для создания консольных приложений на PHP с псевдографическим пользовательским интерфейсом.

🔗 Github

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

#инструменты
👍11
Comments Density Analyzer — это инструмент для анализа плотности и качества комментариев в базе кода на PHP.

Подключается через Composer (--dev) и помогает:
Отслеживать TODO и FIXME в CI/CD, чтобы они не накапливались.
Обнаруживать «некачественные» комментарии или закомментированный старый код.
Гарантировать наличие doc‑блоков у классов и методов.

Кратко о фишках:
Поддержка разных типов комментариев, включая лицензии, TODO, FIXME и doc‑блоки.
Плагинная архитектура для расширения функционала.
Отчёты в консоль и в HTML.
Установка порогов и возврат exit‑кодов при их превышении.
Возможность baseline-файла, чтобы игнорировать уже существующую техдолг и фокусироваться на новом.

Установка и пример:

composer require --dev savinmikhail/comments-density
php vendor/bin/comments_density analyze
php vendor/bin/comments_density baseline

Конфигурация через comments_density.php с настройкой директорий, типов комментариев и порогов.

🔗 Github

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

#инструменты
👍2
composer/pcre — Библиотека-обертка для стандартных функций

Это обёртка над стандартными функциями PHP preg_*, которая:

Делает вызовы функций регулярных выражений безопаснее и удобнее.
Генерирует исключения при ошибках (вместо того, чтобы просто возвращать false и молчать).
Возвращает более предсказуемые результаты (например, всегда массив строк, а не false|null).
Упрощает написание кода и улучшает читаемость — не нужно постоянно проверять preg_last_error() или === false.

Для чего нужна
📦 В первую очередь библиотека используется внутри Composer, чтобы избежать неожиданных багов при работе с регулярками.
👨‍💻 Её можно использовать и в своих проектах, если хотите работать с регулярными выражениями в более строгом и типобезопасном стиле.

🔗 Github

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

#инструменты
4👍2🔥1🌚1
NumPower — сложные вычисления на PHP

Расширение PHP для эффективных научных вычислений и работы с массивами данных с поддержкой GPU.

Посмотрите эту простую нейронную сеть, созданную на PHP с нуля с помощью NumPower.

🔗 Github

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

#инструменты
8😁2
🚦 composer/semver — библиотека для работы с версиями

Эта библиотека стоит за самим Composer и отвечает за то, чтобы корректно сравнивать версии пакетов и интерпретировать условия вроде ^7.4 || ^8.0.

Что умеет:
📌 Проверять, подходит ли версия под ограничение
🔢 Сортировать список версий по семантическим правилам
🛠️ Разбирать сложные условия (>=, <=, ||, -dev, beta) так же, как это делает Composer.

Зачем это вам?
⚙️ Можно встроить в свои скрипты проверки зависимостей.
🧪 Удобно для CI/CD — проверять версии PHP или расширений.
🚀 Используется самим Composer, так что поведение будет на 100% совпадать.

🔗 Github

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

#инструменты
1
🚀 composer/xdebug-handler — отключение Xdebug для повышения производительности

Библиотека composer/xdebug-handler предназначена для временного отключения расширения Xdebug в процессе выполнения PHP-скриптов, что позволяет значительно ускорить операции, такие как установка зависимостей с помощью Composer.

Зачем это нужно?
Xdebug предоставляет мощные возможности для отладки и профилирования PHP-кода, однако его включение может существенно замедлить выполнение скриптов. Например, Composer может работать в 3–4 раза медленнее при активном Xdebug, даже если не используются функции профилирования.

composer/xdebug-handler автоматически перезапускает процесс PHP без загрузки Xdebug, сохраняя при этом все необходимые настройки и переменные окружения. После завершения работы Xdebug восстанавливается.

Когда стоит использовать?
В CLI-скриптах, например, при запуске Composer.
В CI/CD пайплайнах, где важна скорость выполнения.
В разработке, когда необходимо временно ускорить выполнение скриптов без отключения Xdebug.

Установка

composer require composer/xdebug-handler

📦 GitHub

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

#инструменты
4👍4
CPX

Это как npx но для PHP. Этот инструмент позволяет выполнить любую команду из любого пакета Composer, даже если он не установлен в вашем проекте.

🔗 Github

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

#инструменты
🚀 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 — генерацию кода, работу с базой или бизнес-логику?

🗂️ Документация

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

#инструменты
🥱83
🚀 composer/xdebug-handler — отключение Xdebug для повышения производительности

Библиотека composer/xdebug-handler предназначена для временного отключения расширения Xdebug в процессе выполнения PHP-скриптов, что позволяет значительно ускорить операции, такие как установка зависимостей с помощью Composer.

Зачем это нужно?
Xdebug предоставляет мощные возможности для отладки и профилирования PHP-кода, однако его включение может существенно замедлить выполнение скриптов. Например, Composer может работать в 3–4 раза медленнее при активном Xdebug, даже если не используются функции профилирования.

composer/xdebug-handler автоматически перезапускает процесс PHP без загрузки Xdebug, сохраняя при этом все необходимые настройки и переменные окружения. После завершения работы Xdebug восстанавливается.

Когда стоит использовать?
В CLI-скриптах, например, при запуске Composer.
В CI/CD пайплайнах, где важна скорость выполнения.
В разработке, когда необходимо временно ускорить выполнение скриптов без отключения Xdebug.

Установка

composer require composer/xdebug-handler

📦 Ссылка на репозиторий GitHub

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

#инструменты
Парсер JSON

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

🔗 Github

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

#инструменты
👍4🔥2