Открытые разработки AzaGroup

Все библиотеки и разработки распространяются по лицензии MIT. Код всех библиотек хорошо прокомментирован и покрыт тестами. Есть примеры использования и документация (на английском).

AzaKotlinCSS

DSL (Domain-specific language) для написания CSS-стилей на Kotlin. Может использоваться как на серверной стороне, так и на клиентской.

AzaThread

Простая и удобная эмуляция потоков для PHP (с использованием форков и libevent). Позволяет работать в синхронном режиме для тестирования кода без многопоточности. Умеет использовать пулы потоков и выполнять задачи в освободившихся потоках. Передавать аргументы в «поток», возвращать результаты, а также передавать из потока события. Поддерживает таймауты на различных этапах работы, обработку ошибок, удобную отладку и очень гибко настраивается для наиболее эффективного использования ресурсов.

AzaPhpGen

Компонент для генерации/дампа PHP кода. Позволяет сохранить различные данные из PHP в виде исходного кода, который при выполнении вернёт эти же данные. Поддерживает дамп массивов (поддерживает Traversable), скалярных типов, null, сериализуемых объектов, анонимных функций. Легко и гибко настраивается, позволяет полностью кастомизировать результирующий код для объектов с помощью имплементирования интерфейса, либо объявления хука для определённых типов объектов.

AzaMath

Компонент для выполнения математических действий с очень большими числами с произвольной точностью на PHP (с использованием расширения BCMath). Простые арифметические действия с целыми числами можно также производить через альтернативный интерфейс (имеет три реализации: нативную, с использованием BCMath либо GMP. Может автоматически выбрать наиболее быструю из доступных на системе). Вторая задача компонента – работа с системами исчисления. Позволяет легкую конвертацию целых чисел любого размера (отрицательных и положительных) между стандартными системами с основанием от 2 до 62 включительно, а также позволяет использовать любые настраиваемые позиционные системы счисления. Использует все доступные возможности для ускорения конвертации (нативные функции для небольших чисел, GMP для больших), но в основе имеет полностью нативную PHP реализацию перевода чисел из одной системы в другую.

AzaLibEvent

Библиотека для событийно-ориентированных систем на PHP, предоставляющая универсальное объектно-ориентированное API. Абстрагирует работу с libevent (в будущем планируется добавить поддержку libev, альтернативных байндингов к libevent и нативную socket_select реализацию).

AzaCliBase

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

AzaSocket

Библиотека для работы с сокетами в PHP. Предоставляет удобное универсальное API для двух вариантов работы с сокетами (sockets, stream).