clouding/presto-client-php
Presto client library for PHP.
13,459
25
| Install | |
|---|---|
composer require clouding/presto-client-php |
|
| Latest Version: | v1.1.0 |
| PHP: | >=7.2 |
| License: | MIT |
| Last Updated: | May 27, 2020 |
| Links: | GitHub · Packagist |
Maintainer: cloudingcity
Presto Client PHP
A Presto client for the PHP programming language.
Inspired by illuminate/database
Features
- Multiple connections define.
- Get result as an associative array.
Installation
composer require clouding/presto-client-php
Quick Start
Create a presto manager
<?php
use Clouding\Presto\Presto;
$presto = new Presto();
$presto->addConnection([
'host' => 'localhost:8080',
'catalog' => 'default',
'schema' => 'presto',
]);
// Set manager as global (optional)
$presto->setAsGlobal();
Get a default connection and send query
<?php
$posts = $presto->connection()->query('select * from posts')->get();
If set manager as global, just query directly and get data
<?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'],
]
*/
Usage
Multiple connections
<?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();
Running Tests
composer test