Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

cloudingcity/presto-client-php

Repository files navigation

Presto Client PHP

PHPStan

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

About

A Presto client for the PHP programming language.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /