A PHP Class that reads JSON file as a database. Use for sample DBs using Gitlab API inspire from donjajo/php-jsondb
composer require darkterminal/GitlabDB
初期化する
<?php
use GitlabDB\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 = new GitlabDB( $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' )
挿入
新しいJSONファイルに挿入します.ユーザの使用ここの例としてのJSON
注意:最初に挿入された列は、他の挿入物の唯一の許可された列になります
<?php
$json_db->insert( 'users.json',
[
'name' => 'Thomas',
'state' => 'Nigeria',
'age' => 22
]
);
ゲット
PHPでMySQLと同じようにデータを取得する
すべての列:
<?php
$users = $json_db->select( '*' )
->from( 'users.json' )
->get();
print_r( $users );
カスタム列
<?php
$users = $json_db->select( 'name, state' )
->from( 'users.json' )
->get();
print_r( $users );
WHERE文
現時点でのオペレーターとして動作する場合
<?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 );
regexのあるステートメント
通り過ぎることで
GitlabDB::regex
Whereステートメントには、Regexの検索を適用できます.これは、実装に使用することができます
LIKE
or
REGEXP_LIKE
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()
メソッドは、カラム名とソートメソッドの2つの引数でソートされます.
GitlabDB::ASC
and
GitlabDB::DESC
<?php
$users = $json_db->select( 'name, state' )
->from( 'users.json' )
->where( [ 'name' => 'Thomas' ] )
->order_by( 'age', GitlabDB::ASC )
->get();
print_r( $users );
行の更新
また、これらのメソッドを使用して同じJSONファイルを更新することができます
<?php
$json_db->update( [ 'name' => 'Oji', 'age' => 10 ] )
->from( 'users.json' )
->where( [ 'name' => 'Thomas' ] )
->trigger();
** where () *メソッドがなければ、すべての行を更新します**
行の削除
<?php
$json_db->delete()
->from( 'users.json' )
->where( [ 'name' => 'Thomas' ] )
->trigger();
** where () *メソッドなしでは、すべての行を削除します**
MySQLへのエクスポート
このメソッドを使用して出力を提供することで、SQLファイルにJSONをエクスポートできます
<?php
$json_db->to_mysql( 'users.json', 'users.sql' );
無効にするテーブルを作成
<?php
$json_db->to_mysql( 'users.json', 'users.sql', false );
XMLへのエクスポート
また、XMLファイルにデータをエクスポートする機能を提供します
php
<?php
if( $json_db->to_xml( 'users.json', 'users.xml' ) ) {
echo 'Saved!';
}