1. Go to this page and download the library: Download simpod/clickhouse-client library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
simpod / clickhouse-client example snippets
use Http\Client\Curl\Client;
use Nyholm\Psr7\Factory\Psr17Factory;
use SimPod\ClickHouseClient\Client\PsrClickHouseClient;
use SimPod\ClickHouseClient\Client\Http\RequestFactory;
use SimPod\ClickHouseClient\Param\ParamValueConverterRegistry;
$psr17Factory = new Psr17Factory;
$clickHouseClient = new PsrClickHouseClient(
new Client(),
new RequestFactory(
new ParamValueConverterRegistry(),
$psr17Factory,
$psr17Factory
),
new LoggerChain(),
[],
);
use SimPod\ClickHouseClient\Client\ClickHouseClient;
use SimPod\ClickHouseClient\Format\JsonEachRow;
use SimPod\ClickHouseClient\Output;
/** @var ClickHouseClient $client */
/** @var Output\JsonEachRow $output */
$output = $client->select(
'SELECT * FROM table',
new JsonEachRow(),
['force_primary_key' => 1]
);
use SimPod\ClickHouseClient\Client\ClickHouseClient;
use SimPod\ClickHouseClient\Format\JsonEachRow;
use SimPod\ClickHouseClient\Output;
/** @var ClickHouseClient $client */
/** @var Output\JsonEachRow $output */
$output = $client->selectWithParams(
'SELECT * FROM :table',
['table' => 'table_name'],
new JsonEachRow(),
['force_primary_key' => 1]
);
use SimPod\ClickHouseClient\Client\ClickHouseClient;
/** @var ClickHouseClient $client */
$client->insert('table', $data, $columnNames);
use SimPod\ClickHouseClient\Sql\SqlFactory;
use SimPod\ClickHouseClient\Sql\ValueFormatter;
$sqlFactory = new SqlFactory(new ValueFormatter());
$sql = $sqlFactory->createWithParameters(
'SELECT :param',
['param' => 'value']
);
use SimPod\ClickHouseClient\Client\PsrClickHouseClient;
$client = new PsrClickHouseClient(...);
$output = $client->selectWithParams(
'SELECT {p1:String}',
['param' => 'value']
);
use SimPod\ClickHouseClient\Client\Http\RequestFactory;
use SimPod\ClickHouseClient\Client\PsrClickHouseClient;
use SimPod\ClickHouseClient\Exception\UnsupportedParamValue;
use SimPod\ClickHouseClient\Param\ParamValueConverterRegistry;
$paramValueConverterRegistry = new ParamValueConverterRegistry([
'datetime' => static fn (mixed $v) => $v instanceof DateTimeInterface ? $v->format('c') : throw UnsupportedParamValue::type($value)
]);
$client = new PsrClickHouseClient(..., new RequestFactory($paramValueConverterRegistry, ...));
use SimPod\ClickHouseClient\Sql\Expression;
Expression::new("UUIDStringToNum('6d38d288-5b13-4714-b6e4-faa59ffd49d8')");
use SimPod\ClickHouseClient\Sql\ExpressionFactory;
use SimPod\ClickHouseClient\Sql\ValueFormatter;
$expressionFactory = new ExpressionFactory(new ValueFormatter());
$expression = $expressionFactory->templateAndValues(
'UUIDStringToNum(%s)',
'6d38d288-5b13-4714-b6e4-faa59ffd49d8'
);
use SimPod\ClickHouseClient\Snippet\CurrentDatabase;
$currentDatabaseName = CurrentDatabase::run($client);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.