tomk79/excellent-db

根据Excel文件定义的数据库表规格执行数据库操作。

dev-master 2018-08-05 14:41 UTC

This package is auto-updated.

Last update: 2024-09-25 16:10:05 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许可证

作者 - Author