vasyl/vsql

This package is abandoned and no longer maintained. No replacement package was suggested.
There is no license information available for the latest version (v4.11.2) of this package.

SQL Helper

Maintainers

Details

github.com/y-vas/vsql

Source

Installs: 1 001

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 1

Type:package

v4.11.2 2022-01-19 20:04 UTC

README

// site https://ymvas.com/vsql

VSQL is a query helper and abstraction layer for php.

COMPOSER INSTALATION

composer require vasyl/vsql

Basic Script

use VSQL\VSQL\VSQL;

// set this to true if you are on debug mode
$_ENV['VSQL_INSPECT'] = true;

// declare the database variables in ENV
$_ENV[  'DB_HOST'  ] = 'host';
$_ENV['DB_USERNAME'] = 'name';
$_ENV['DB_PASSWORD'] = 'pass';
$_ENV['DB_DATABASE'] = 'dtbs';

$v = new VSQL( );
$query = $v->query(
   " SELECT * FROM Table T
     WHERE TRUE
    { AND T.name = :name } "
  ,[ 'name' => 'vsql' ]
  , true  
);

// what query will return
/*
  $query
  "
  SELECT * FROM Table T
  WHERE TRUE
  AND T.name = 'vsql'
  "
*/

$res = $v->get( $list = true );
//returns a standart class object

// if you want to return the mysqli instance run this instead
// $mysqli = $v->run( $list = true );

Handeling Big queries is now easy

Given this values and this query

$values = [
  'name'     => 'vsql',
  'getbasic' => true,
  'pass'     => 'secret'
]

Givent Query

SELECT
  :name
  { , d.name :extra_cols }
  { , d.name ,d.surname, d.pass  getbasic; }
  , d.id
FROM dbtable d
WHERE TRUE
AND d.surname like '%{:surname}%'
{ AND d.type = i:type }
{ AND d.pass = s:pswd }
{ AND d.id   = i:id   }

Output Query

SELECT
  vsql
  , d.name ,d.surname, d.pass
  , d.id
FROM dbtable d
WHERE TRUE
AND d.surname like '%%'
AND d.pass = 'secret'

Transformers

transformer                                                            variables                                                            returns                                                           
i 'string',0 ,'123.3', null 0,0 ,123, 0
+i 'string',0 ,'-123.3', -2 0,0 ,123, 2
f 'string',0 ,'123.3', null 0,0 ,123.3, 0
+f -3, -1.3 ,0 ,'123.3' , null 3, 1.3 ,0 ,123.3, 0
s 'string',0 ,'123.3', null 'string','0','123.3',''
t ' string ',0 ,'123.3', null 'string','0','123.3',''
array/implode ['string',0 ,'123.3', null] 'string,0,123.3,'
json ['string',0 ,'123.3', null] '["string",0,"123.3",null]'

Classes

  • VSQL
    • Query Compiler php $db->query('select * from dbtable',array());
    • Fetch Rows php $db->get( $list = false );
    • Execute php $db->run( $list = false ); /* retuns mysql instance */