phpClickHouse 项目使用教程
phpClickHousephp ClickHouse wrapper项目地址:https://gitcode.com/gh_mirrors/ph/phpClickHouse
1. 项目的目录结构及介绍
phpClickHouse 是一个用于与 ClickHouse 数据库交互的 PHP 库。以下是该项目的目录结构及其介绍:
phpClickHouse/
├── src/ # 源代码目录
│ ├── Client.php # 主要客户端类
│ ├── Statement.php # 语句处理类
│ └── ... # 其他相关类和文件
├── tests/ # 测试目录
│ ├── ClientTest.php # 客户端测试类
│ └── ... # 其他测试文件
├── example/ # 示例代码目录
│ ├── Helper.php # 示例辅助类
│ └── ... # 其他示例文件
├── vendor/ # 第三方依赖目录(由 Composer 管理)
├── composer.json # Composer 配置文件
├── README.md # 项目说明文档
└── ... # 其他配置和文档文件
1.1 src 目录
src
目录包含了项目的核心源代码,包括与 ClickHouse 数据库交互的主要类和辅助类。
1.2 tests 目录
tests
目录包含了项目的单元测试和功能测试,确保代码的正确性和稳定性。
1.3 example 目录
example
目录提供了一些示例代码,帮助用户快速理解和使用该库。
1.4 vendor 目录
vendor
目录由 Composer 自动生成,包含了项目依赖的第三方库。
1.5 composer.json
composer.json
是 Composer 的配置文件,定义了项目的依赖关系和其他配置。
1.6 README.md
README.md
是项目的说明文档,包含了项目的基本信息、安装方法和使用指南。
2. 项目的启动文件介绍
项目的启动文件主要是 src/Client.php
,这是与 ClickHouse 数据库交互的主要入口类。以下是该文件的主要功能和使用方法:
// 引入自动加载文件
require 'vendor/autoload.php';
// 创建 ClickHouse 客户端实例
$config = [
'host' => '192.168.1.1',
'port' => '8123',
'username' => 'default',
'password' => '',
'https' => true
];
$db = new ClickHouseDB\Client($config);
// 选择数据库
$db->database('default');
// 设置超时时间
$db->setTimeout(10); // 10 秒
// 执行查询
$st = $db->select('SELECT 1 as ppp');
$rows = $st->rows();
echo $rows[0]['ppp']; // 输出 1
2.1 创建客户端实例
通过配置数组创建 ClickHouseDB\Client
实例,配置数组包含了连接 ClickHouse 数据库所需的主机、端口、用户名和密码等信息。
2.2 选择数据库
使用 database
方法选择要操作的数据库。
2.3 设置超时时间
使用 setTimeout
方法设置连接和查询的超时时间。
2.4 执行查询
使用 select
方法执行 SQL 查询,并通过 rows
方法获取查询结果。
3. 项目的配置文件介绍
项目的配置文件主要是 composer.json
,它定义了项目的依赖关系和其他配置。以下是该文件的主要内容:
{
"name": "smi2/phpclickhouse",
"description": "php ClickHouse wrapper",
"type": "library",
"require": {
"php": ">=7.2"
},
"require-dev": {
"phpunit/phpunit": "^9.0"
},
"autoload": {
"psr-4": {
"ClickHouseDB\\": "src/"
}
},
"license": "MIT",
"authors": [
{
"name": "smi2",
"email": "example@example.com"
}
]
}
3.1 项目信息
name
、description
和 type
字段定义了项目的名称、描述和类型。
phpClickHousephp ClickHouse wrapper项目地址:https://gitcode.com/gh_mirrors/ph/phpClickHouse