PHP. Библиотеки для PHP разработчика

Список полезных библиотек для PHP разработчика

Текст

wapmorgan/Morphos — Морфологическое решение на PHP для русского языка: склонение имен и существительных, плюрализация, количественные числительные.

teamtnt/tntsearch — Полнофункциональный движок полнотекстового поиска на PHP.

fe3dback/str — Библиотека, в которой реализовано множество функций для манипуляций со строками в ООП стиле и поддержкой многобайтных строк.

Дата и время

fightbulc/moment.php — Библиотека для работы с датой и временем, поддержкой интернационализации, вдохновленная moment.js.

jenssegers/date — Библиотека на базе Carbon для работы с датами и поддержкой мультиязычности.

spatie/period — Библиотека позволяет делать сложные сравнения дат, например, найти пересечения периодов, разницу, пробелы, крайние границы и прочее.

Файлы

wapmorgan/BinaryStream — Библиотека для удобного чтения бинарных файлов.

Ne-Lexa/php-buffer — Удобное чтение и запись бинарных файлов.

ankitpokhrel/tus-php — Реализация сервера для протокола возобновляемых загрузок файлов — tus.io.

nette/safe-stream — Библиотека позволяет производить атомарные и безопасные чтение/запись файлов с помощью стандартных функций PHP.

thephpleague/mime-type-detection — Мини-библиотека для определения mime-типа файла.

Изображения

flyimg.io — Приложение для изменения размеров, обрезки и сжатия изображений на лету.

kosinix/grafika — Библиотека для работы с изображениями. Среди возможностей из коробки: умный кроп, перцептивный хэш, сравнение изображений.

undemanding/difference — Библиотека позволяет оценить различия между изображениями.

thephpleague/glide — Библиотека для работы с изображениями. Туториал по использованию.

ErikvdVen/php-gif — Создание динамических GIF файлов по запросу.

wapmorgan/Imagery — Обертка над GD для работы с изображениями. 

Скриншоты

spatie/browsershot — Библиотека для создания скриншотов веб-страниц на основе Headless Chrome.

БД

analogueorm/analogue — Data Mapper ORM.

paragonie/easydb — Простая и удобная обертка над PDO. Доступно кэширование подготовленных запросов paragonie/easydb-cache.

Doctrine ORM

ergebnis/factory-bot — Фабрика фикстур для Doctrine ORM.

Git

wizaplace/github-to-mysql — Скрипт для синхронизации данных из GitHub (issues, labels, ...) в MySQL.

zeeshanu/git-profile — Утилита позволяет легко переключаться между разными конфигурациями Git.

php-composter/php-composter — Управление Git-хуками с помощью Composer.

bouiboui/tissue — Библиотека позволяет создавать Issue на Github прямо из исключений в коде.

malukenho/PsyGit — Библиотека для работы с Git из PHP.

CaptainHookPhp/captainhook — Менеджер Git-хуков для PHP-проектов. Хуки конфигурируются в composer.json.

i18n

patrickschur/language-detection — Библиотека для определения языка по заданной строке.

XML

TBPixel/xml-streamer — Пакет для потокового чтение XML-данных, совместим с PSR-7.

veewee/xml — Все для удобной работы с XML в одном пакете.

PDF

asyncphp/paper — Асинхронный конвертер HTML в PDF.

smalot/pdfparser — Библиотека для получения информации из PDF-документов.

Работа с архивами

maennchen/ZipStream-PHP — Библиотека позволяет создавать zip-архив на лету и писать в поток. 

wapmorgan/UnifiedArchive — Утилита для унифицированного доступа к 9+ различным форматам архивов.

RSS

simplepie/simplepie — Простой парсер Atom/RSS фидов.

miniflux/miniflux — Минималистичная читалка RSS.

CI

corpsee/php-censor — CI-сервер на PHP. Форк практически заброшенного PHPCI.

OndraM/ci-detector — Позволяет определить используемый CI-сервер и получить данные о билде.

simpleci/simpleci — Система непрерывной интеграции, основанная на Docker.

kohkimakimoto/altax — Инструмент развертывания.

Аутенфикация

SocialConnect/auth — Библиотека для аутентификации через соц. сервисы (OAuth1/2, OpenID, OpenIDConnect). 20+ провайдеров из коробки (VK, FB, G+, Twitter, Steam и т.д.).

Adldap2/Adldap2 — Аутентификация через LDAP и работа с Active Directory в стиле Active Record.

hybridauth/hybridauth — Одна из самых популярных библиотек для аутентификации с помощью соцсетей.

Video / Audio

wapmorgan/UnifiedArchive — Библиотека для унифицированного доступа к архивам различных форматов. Также в виде утилиты командной строки — wapmorgan/CAM.

wapmorgan/UnifiedPlaylist — Библиотека для чтения всех популярных форматов плей-листов: aimppl, asx, xspf, zpl, m3u, pls, upf.

jack-theripper/transcoder — Инструмент для кодирования, конвертации, и получения метаинформации для аудио и видео.

JSON

nahid/jsonq — Query builder для JSON.

webmozart/json — Полноценный енкодер/декодер JSON с поддержкой валидации схемы.

paragonie/iaso — Набор инструментов для работы с JSON, включающий парсер, устойчивый к Hash-DoS атаке.

halaxa/json-machine — Потоковое чтение (декодирование) JSON. Для потокового кодирования подойдет violet-php/streaming-json-encoder.

CLI 

clue/php-commander — Инструмент для создания простых консольных приложений с лаконичным интерфейсом.

nategood/commando — Библиотека для реализации консольных команд с простым fluent-интерфейсом.

cilex/cilex — Фреймворк для создания инструментов командной строки.

nunomaduro/collisionWhoops для консольных приложений — отображает красивые и информативные отчеты об ошибках.

php-school/cli-menu — Интерактивные меню для командной строки.

getopt-php/getopt-php — Библиотека для парсинга аргументов командной строки.

alecrabbit/php-console-spinner — Красивые консольные спиннеры.

TitasGailius/terminal — Красивая обёртка над symfony/process для запуска внешних команд из PHP.

Кеширование

phpsocialnetwork/phpfastcache — Мощный компонент для кэширования с поддержкой множества драйверов.

AI

php-ai/php-ml — Реализацией алгоритмов машинного обучения на PHP.

RubixML/RubixML — Библиотека для применения машинного обучения на PHP. Альтернатива php-ai/php-ml.

Статический анализ кода

vimeo/psalm — Инструмент статического анализа для поиска ошибок в PHP-приложениях.

phpstan/phpstan — Статический анализатор.

exakat/exakat — Статический анализатор. Также доступен список всех подобных инструментов: exakat/php-static-analysis-tools.

etsy/phan — Статический анализатор для PHP.

ovr/phpsa — Еще один статический анализатор для PHP

edsonmedina/php_testability — Статический анализатор для проверки на тестируемость.

nunomaduro/phpinsights - Консольный инструмент прогоняет проверки качества кода и выводит в красивом виде.

mihaeu/dephpend — Инструмент статического анализа, который поможет выявить проблемы в архитектуре путем анализа зависимостей классов.

Deploy

Deployer Популярный инструмент для деплоя deployer.org

banago/PHPloy — Инструмент развертывания по FTP/SFTP с поддержкой нескольких серверов, подмодулей и откатов.

phanan/kupo — Автоматизированный чек-лист для проверки сайта перед запуском.

jonathantorres/construct — Инструмент генерирует структуру папок и файлы для нового PHP-проекта.

CodeSniffer

wimg/PHPCompatibility — Набор правил для PHP_CodeSniffer для проверки кода на совместимость с различными версиями PHP. Туториал по использованию.

behance/php-sniffs — Несколько дополнительных правил для PHP_CodeSniffer.

slevomat/coding-standard — Расширенный стандарт кодирования для PHP_CodeSniffer.

doctrine/coding-standard — Правила для PHP_CodeSniffer на базе PSR-1/2 с дополнениями

Composer

wikimedia/composer-merge-plugin — Плагин для Composer, который объединяет несколько composer.json файлов налету. Удобно для разделения проекта на внутренние компоненты со своими зависимостями.

PHPUnit

jwage/phpchunkit — Надстройка над PHPUnit, позволяет разбивать большие наборы тестов на куски и выполнять параллельно.

ScriptFUSION/PHPUnit-Immediate-Exception-Printer — Печатает информацию о возникших ошибках во время выполенения тестов не дожидаясь их конца.

spatie/phpunit-snapshot-assertions — Пакет для снэпшот-тестирования с помощью PHPUnit а-ля Jest от Facebook.

mcustiel/phiremock — Инструмент для мока HTTP-запросов и REST-сервисов для использования в приемочных тестах.

mikeerickson/phpunit-pretty-result-printer — Расширение для PHPUnit выводит результаты в красивом сгруппированном виде:

Markdown

thephpleague/html-to-markdown — Конвертер HTML в Markdown.

thephpleague/commonmark — Парсер Markdown. Видеообзор использования.

Captcha

https://github.com/himiklab/yii2-recaptcha-widget - Плагин Yii2 Google ReCaptcha

Поиск

teamtnt/tntsearch — Полнофункциональный движок полнотекстового поиска на PHP.

parpalak/rose — Встраиваемый поисковый движок с поддержкой русского языка.

k-samuel/faceted-search — Легковесный пакет для организации фасетного поиска на сайте. Работает на чистом PHP и можно использовать на небольших данных (100_000 продуктов с 10 свойствами) до внедрения ElasticSearch.

Cron

jobbyphp/jobby — Продвинутый менеджер cron-задач.

MUlt1mate/cron-manager — Менеджер cron-задач.

soy-php/soy — Инструмент для запуска задач.

WebSocket

morozovsk/websocket — Простой WebSocket-сервер с поддержкой PHP 7 и интеграцией с Yii/Yii2.

ratchetphp/Pawl — Асинхронный WebSocket клиент.

FTP

Nicolab/php-ftp-client — Гибкий FTP-клиент для PHP.

Работа с почтой EMAIL

gabrielbull/omnimail — Библиотека для отправки писем с помощью популярных сервисов рассылки: AmazonSES, Mailgun, Mandrill и другие.

egulias/EmailValidator — Валидатор email-адрессов с несколькими стратегиями.

PeeHaa/mailgrab — Простой SMTP-сервер для отладки писем.

SOAP

goetas-webservices/soap-client — Реализация SOAP 1.1 клиента на чистом PHP (без ext-soap).

Бекапы

sebastianfeldmann/phpbu — Инструмент для создания резервных копий файлов и баз данных. Умеет шифровать бэкапы и отправлять в хранилище (Amazon s3, Dropbox, rsync, SFTP, FTP).

WebPush

web-push-libs/web-push-php — Реализация протокола WebPush для отправки уведомлений в браузер.

Мониторинг

spatie/server-monitor-app — Монитор состояния сервера, умеет отправлять уведомления по email и в Slack.

wapmorgan/ServerAvailabilityMonitor — Утилита мониторит серверы на доступность и присылает отчеты об ошибках на почту. Поддерживает http, mysql, pgsql, memcache и redis.

Платежи

Payum/Payum — Мощная библиотека для обработки платежей. Поддерживает множество провайдеров и сценариев оплаты.

Парсинг (HTML)

https://github.com/zomberg/phpquery - PHPQuery библиотека для парсинга HTML кода через PHP

Imangazaliev/DiDOM — Простая и быстрая библиотека для парсинга HTML.

tgalopin/html-sanitizer — Библиотека для обработки, чистки и санитайзинга HTML-данных, пришедших от пользователя.

YII

zhuravljov/yii2-queue — Очередь задач для Yii 2. Умеет работать через базу данных, Redis, RabbitMQ, Beanstalk и Gearman.

bizley/yii2-migration — Генерирует миграцию на основе текущего состояния базы и предыдущих миграций.

tunecino/angular-yii2-model — Сервис для AngularJS 1.x для использования REST API Yii 2.

vesnateam/sandstorm — Веб-интерфейс для работы с миграциями.

phundament/app — Шаблон докеризированного приложения на Yii 2.

yiister/yii2-gentelella — Шаблон админки для Yii2.

Тестирование

vamsiikrishna/vex — Простой инструмент для тестирования нагрузки, реализованный на PHP.

paratestphp/paratest — Параллельный запуск тестов PHPUnit.

mlambley/swagception — Генерирует приемочные тесты для Codeception на основе вашей Swagger 2.0 (Open API 2.0) спецификации.

API

Indatus/trucker — Пакет для использования удаленных ресурсов API (обычно RESTful) как моделей в стиле ActiveResource.

webmozart/key-value-store — Библиотека предоставляет абстрактный API для работы различным key-value хранилищами.

Графы

https://github.com/koriym/print_o - Библиотека написанная на PHP для визуализации графов и связей. 

algb12/GraphDS — Легковесные структуры данных и алгоритмы для работы с графами.

Интеграция

unreal4u/telegram-api — Реализация Telegram API на PHP 7 с поддержкой асинхронности.

Шелл скрипты

https://github.com/arrexel/phpbash - Полуинтерактивный PHP-шелл в одном файле.

Сервера очередей

xobotyi/beansclient — Клиент для сервера очередей beanstald, без зависимостей и со 100% покрытием тестами.

php-enqueue/enqueue-dev — Очередь сообщений с поддержкой транспортов AMQP (RabbitMQ, ActiveMQ), STOMP, Amazon SQS, Redis, Doctrine DBAL, Filesystem, а также добавлена поддержка MongoDB.

GraphQL

railt/railt — Реализация GraphQL для PHP-приложений.

thecodingmachine/graphqlite — Еще один GraphQL фреймворк для PHP. Вводный пост с обзором в поддержку.

joonlabs/php-graphql — PHP-реализация спецификаций GraphQL. Автор утверждает, что быстрее чем другие реализации.

Вычисления

markrogoyski/math-php — Мощная современная математическая библиотека для PHP.

Разное

crazycodr/standard-exceptions — Расширенный набор исключений.

samdark/hydrator — Извлечение данных и заполнение данными объектов.

biberlabs/ddd-embeddables — Коллекция объектов-значений для использования в своих приложениях.

spatie/opening-hours — Инструмент позволяет сконфигурировать рабочие часы и затем делать запросы, чтобы определить «открыто» ли в конкретную дату.

Gurukami/php-array — Хелпер для работы с многомерными массивами.

cakephp/chronos — Библиотека для работы с датой и временем на PHP. Переработанный и дополненный Carbon. Пост с описанием и примерами.

layershifter/tld-extract — Пакет для корректного парсинга доменных имен с использованием Public Suffix List.

Bacon/BaconQrCode — Генератор QR-кодов.

maciejczyzewski/bottomline — Набор полезных функций на каждый день.

dunglas/phpdoc-to-typehint — Инструмент под PHP 7 для преобразования типов из PhpDoc в нативные тайпхинты.

ronanguilloux/IsoCodes — Библиотека для валидации различных стандартных кодов: Zip-коды 175 стран, телефонные номера, номера кредитных карт, ISBN, национальные идентификационные коды и другие.

bartblaze/PHP-backdoors — Подборка бэкдоров на PHP.

DusanKasan/Knapsack — Удобная библиотека для работы с коллекциями.

gabrielrcouto/php-gui — Инструмент позволяет создавать десктопные приложения с графическим интерфейсом на PHP без необходимости устанавливать дополнительные расширения.

Imangazaliev/DiDOM — Простая и быстрая библиотека для парсинга HTML. Сравнение с другими парсерами.

kelunik/acme-client — Сервис Let's Encrypt позволяет бесплатно генерировать подтвержденные SSL-сертификаты. По ссылке PHP-клиент для Let's Encrypt для тех кому не подходит оригинальный на Python. Пост об использовании.

niklongstone/regex-reverse — Генерирует строку на основе регулярного выражения.

thephpleague/route 2.0 — Популярный роутер на основе FastRoute. Теперь с поддержкой PSR-7.

domnikl/statsd-php — PHP-клиент для передачи статистики в statsd.

jakubkulhan/bunny — Простая и быстрая реализация клиента AMQP (RabbitMQ) с синхронным и асинхронным (ReactPHP) режимами.

JBZoo/Utils — Хелперы на каждый день.

mvdbos/php-spider — Веб-паук на PHP.

niutech/node.php — Инструмент позволяет запускать node.js приложение из PHP даже на обычном хостинге.

sebastianfeldmann/phpbu — Инструмент для управления бэкапами БД и файлов.

Alroniks/dtms — Расширение класса DateTime для работы с микросекундами в PHP. Прислал iklimchuk.

sebastianbergmann/object-graph — Позволяет выводить граф объектов PHP.

PicoPrime/barcodegen — Генератор штрих-кодов.

formapro/pvm — Мощная библиотека для описания бизнес-процессов, например BPMN.

makasim/yadm — Эффективная библиотека для работы с MongoDB в PHP. Очень быстрое сохранение и гидрация.

rybakit/msgpack.php — Сериализация в MessagePack на чистом PHP.

spatie/crawler — Мощный краулер на базе Guzzle, а также Chrome и Puppeteer для рендеринга JavaScript-сайтов.

nesk/rialto — Инструмент для управления ресурсами Node.js из PHP. Может быть использован для реализации взаимодействия с Node.js библиотеками.

nette/utils - Набор полезных функций на каждый день

cyrus-and/fracker — Инструмент позволяет в удобном виде отслеживать вызовы функций в PHP и будет полезен для исследователей безопасности.

spatie/data-transfer-object v3 — Продвинутые типизированные DTO на PHP 8.

spatie/crypto — Небольшая обертка над openssl для шифрования данных с помощью приватного/публичного ключа. Вводный пост.