clouding / presto-client-php
PHP的Presto客户端库。
v1.1.0
2019-04-05 18:08 UTC
Requires
- php: >=7.2
- ext-json: *
- guzzlehttp/guzzle: ~6.3
Requires (Dev)
- blastcloud/guzzler: ^1.0
- mockery/mockery: ^1.2
- phpstan/phpstan: ^0.11.2
- phpstan/phpstan-mockery: ^0.11.0
- phpunit/phpunit: ^8.0
- squizlabs/php_codesniffer: ^3.4
- symfony/var-dumper: ^4.2
README
PHP编程语言的Presto客户端。
灵感来源于illuminate/database
特性
- 定义多个连接。
- 以关联数组的形式获取结果。
安装
composer require clouding/presto-client-php
快速开始
创建Presto管理器
<?php use Clouding\Presto\Presto; $presto = new Presto(); $presto->addConnection([ 'host' => 'localhost:8080', 'catalog' => 'default', 'schema' => 'presto', ]); // Set manager as global (optional) $presto->setAsGlobal();
获取默认连接并发送查询
<?php $posts = $presto->connection()->query('select * from posts')->get();
如果将管理器设置为全局,则直接查询并获取数据
<?php $posts = Presto::query('SELECT * FROM posts')->get(); /* [ [1, 'Good pracetice'], [2, 'Make code cleaner'], ] */ $posts = Presto::query('SELECT * FROM posts')->getAssoc(); /* [ ['id' => 1, 'title' => 'Good pracetice'], ['id' => 2, 'title' => 'Make code cleaner'], ] */
使用方法
多个连接
<?php use Clouding\Presto\Presto; $presto = new Presto(); $presto->addConnection([ 'host' => 'localhost:8080', 'catalog' => 'default', 'schema' => 'presto', ]); $presto->addConnection([ 'host' => 'localhost:8080', 'catalog' => 'default2', 'schema' => 'presto2', ], 'presto2'); $presto->setAsGlobal(); // Get connections $connections = Presto::getConnections(); // Specify connection $posts = Presto::query('SELECT * FROM posts', 'presto2')->get();
运行测试
composer test