Skip to content

A lightweight, DI-friendly and extensible ClickHouse client for PHP with middleware, DTO mapping, and clean architecture

Notifications You must be signed in to change notification settings

denyWhite/clicklink

Repository files navigation

📦 clicklink — PHP ClickHouse Client

Лёгкий и расширяемый клиент ClickHouse на PHP
С фокусом на чистую архитектуру, DI-интеграцию, middleware и маппинг данных через DTO.


🚀 Описание

clicklink — это клиент для ClickHouse, созданный с целью обеспечить:

  • 🚀 простое подключение к ClickHouse из PHP
  • 🛠️ поддержку middleware для логирования, кэширования, трассировки
  • 📦 DTO-маппинг ответов в структуры PHP
  • 📈 расширяемость для проектов любого масштаба

🔧 Возможности

  • Поддержка PDO-подобного API
  • Middleware (логирование, профайлинг, retry)
  • Конфигурируемые адаптеры запросов
  • Автоматическое преобразование результатов в DTO

🚀 Пример использования

use Clicklink\Client;
use Clicklink\Middleware\LoggerMiddleware;

$client = new Client([
    'host' => 'localhost',
    'port' => 8123,
]);

$client->addMiddleware(new LoggerMiddleware($logger));

$result = $client->query('SELECT * FROM users LIMIT 10');
print_r($result->toArray());

About

A lightweight, DI-friendly and extensible ClickHouse client for PHP with middleware, DTO mapping, and clean architecture

Topics

Resources

Stars

Watchers

Forks