tomk79 / excellent-db
Excelファイルで定義したデータベーステーブル仕様に従って、データベース操作を実行します。
dev-master
2018-08-05 14:41 UTC
Requires
- php: >=5.4.0
- phpoffice/phpexcel: ^1.8
- tomk79/filesystem: ^1.0
- twig/twig: ^1.3
Requires (Dev)
- fabpot/goutte: ^3.2
- phpdocumentor/phpdocumentor: ^2.9
- phpunit/phpunit: 4.1.*
This package is auto-updated.
Last update: 2024-10-25 16:23:29 UTC
README
Excelファイルで定義したデータベーステーブル仕様に従って、データベース操作を実行します。
使い方 - Usage
※まだ開発中のため、この通りに組み込んでも動作しません。
初期化処理
<?php require_once('/path/to/vendor/autoload.php'); // 初期化 $pdo = new PDO( /* PDO Options */ ); $exdb = new excellent_db\create( $pdo, array( // テーブル名の接頭辞 "prefix" => "your_prefix", // データベース設計書 "path_definition_file" => '/path/to/your/db_table_definition.xlsx', // キャッシュディレクトリ "path_cache_dir" => '/path/to/your/caches/', ) ); // データベーステーブルを初期化 $exdb->migrate_init_tables();
Excellent Db は、 データベース設計書 に記述された物理設計に従って、フォーム や REST API を自動生成します。
データベース設計書の定義については、こちらを参照してください。
REST API 自動処理
<?php require_once('/path/to/vendor/autoload.php'); $pdo = new PDO( /* PDO Options */ ); $exdb = new excellent_db\create( $pdo, /* options */ ); $rest = $exdb->get_rest(); $rest->automatic_rest_api(); exit();
フォームAPI 自動処理
サインアップフォーム
<?php require_once('/path/to/vendor/autoload.php'); $pdo = new PDO( /* PDO Options */ ); $exdb = new excellent_db\create( $pdo, /* options */ ); $form = $exdb->get_form(); $form->automatic_signup_form( 'user', // テーブル名 array( // 初期登録するカラム 'user_account', 'user_name', 'email', 'password', ), array( // Options 'href_backto'=>'/' // 戻り先のURL ) ); exit();
ログインフォーム
<?php require_once('/path/to/vendor/autoload.php'); $pdo = new PDO( /* PDO Options */ ); $exdb = new excellent_db\create( $pdo, /* options */ ); $form = $exdb->get_form(); $form->auth( 'user', // テーブル名 array( // 照合するデータ 'user_account', 'password', ) ); ?> <!DOCTYPE html> <html> <head> <title>LOGIN SAMPLE</title> </head> <body> <p>Logged in.</p> </body> </html>
ログアウト
<?php require_once('/path/to/vendor/autoload.php'); $pdo = new PDO( /* PDO Options */ ); $exdb = new excellent_db\create( $pdo, /* options */ ); $form = $exdb->get_form(); $form->logout('user'); ?> <!DOCTYPE html> <html> <head> <title>LOGOUT SAMPLE</title> </head> <body> <p>Logged out.</p> </body> </html>
フォーム自動処理
<?php require_once('/path/to/vendor/autoload.php'); $pdo = new PDO( /* PDO Options */ ); $exdb = new excellent_db\create( $pdo, /* options */ ); $form = $exdb->get_form(); $form->automatic_form(); exit();
validator を単体で使う
<?php require_once('/path/to/vendor/autoload.php'); $pdo = new PDO( /* PDO Options */ ); $exdb = new excellent_db\create( $pdo, /* options */ ); $validator = $exdb->validator(); $check_value = 'valid'; $errors = $validator->detect_errors( $check_value, // 検証対象の値 'text', // 期待するデータ型 array( // 制約事項 (optional) 'not_null'=>true ) ); if( count($errors) ){ echo "Invalid"; }else{ echo "Valid"; }
ライセンス - License
MIT License
作者 - Author
- Tomoya Koyanagi tomk79@gmail.com
- website: http://www.pxt.jp/
- Twitter: @tomk79 http://twitter.com/tomk79/