A PHP Class that reads JSON file as a database. Use for sample DBs using Gitlab API inspire from donjajo/jsondb
GitlabDB
A PHP Class that reads JSON file as a database. Use for sample DBs using Gitlab API inspire from donjajo/php-jsondb
Usage
Install package
composer require darkterminal/GitlabDB
Initialize
<?phpuseGitlabDB\GitlabDB;
$options['personal_access_token'] = "YOUR_GITLAB_ACCESS_TOKEN";
$options['project_id'] = "YOUR_GITLAB_PROJECT_ID";
$options['branch'] = "YOUR_GITLAB_BRANCH";
$options['cloud_url'] = "YOUR_GITLAB_URL";
$path = 'YOUR_PATH_ON_GITLAB';
$json_db = newGitlabDB( $options, $path ); // Or passing the file path of your json files with no trailing slash, default is the root directory. E.g. new GitlabDB( $options, 'database' )
Inserting
Insert into your new JSON file. Using users.json as example here
NB:Columns inserted first will be the only allowed column on other inserts
A PHP Class that reads JSON file as a database. Use for sample DBs using Gitlab API inspire from donjajo/php-jsondb
Usage
Install package
composer require darkterminal/GitlabDB
Initialize
<?phpuseGitlabDB\GitlabDB;$options['personal_access_token']="YOUR_GITLAB_ACCESS_TOKEN";$options['project_id']="YOUR_GITLAB_PROJECT_ID";$options['branch']="YOUR_GITLAB_BRANCH";$options['cloud_url']="YOUR_GITLAB_URL";$path='YOUR_PATH_ON_GITLAB';$json_db=newGitlabDB($options,$path);// Or passing the file path of your json files with no trailing slash, default is the root directory. E.g. new GitlabDB( $options, 'database' )
Inserting
Insert into your new JSON file. Using users.json as example here
NB:Columns inserted first will be the only allowed column on other inserts
This WHERE works as AND Operator at the moment or OR
<?php$users=$json_db->select('name, state')->from('users.json')->where(['name'=>'Thomas'])->get();print_r($users);// Defaults to Thomas OR Nigeria$users=$json_db->select('name, state')->from('users.json')->where(['name'=>'Thomas','state'=>'Nigeria'])->get();print_r($users);// Now is THOMAS AND Nigeria$users=$json_db->select('name, state')->from('users.json')->where(['name'=>'Thomas','state'=>'Nigeria'],'AND')->get();print_r($users);
Where Statement with regex:
By passingGitlabDB::regex to where statement, you can apply regex searching. It can be used for implementing LIKE or REGEXP_LIKE clause in SQL.
$users=$json_db->select('name, state')->from("users")->where(array("state"=>GitlabDB::regex("/ria/")),GitlabDB::AND)->get();print_r($users);// Outputs are rows which contains "ria" string in "state" column.
Order By:
Thanks to Tarun Shanker for this feature. By passing the order_by() method, the result is sorted with 2 arguments of the column name and sort method - GitlabDB::ASC and GitlabDB::DESC