由于项目需求同时不想直接用tp框架中的ORM而写的,对于运行在FPM模式下的php来说,采用ORM对web程序运行效率会产生显著的影响,一般情况下都是直接自己构建SQL语句以及建立表与表之间的关系。
这几个函数只针对一般情况,对于类型检查那一块,可以自己进行相应的扩展。
function checkDatabaseName( $name ) {
if(!is_string($name)) {
return false;
}
$bad_char_reg = "/(\.|\#|\~|\`|\$|\|\-|\)|\(|\=|\>|\<|\/)+/i";
$chinese_char_reg = "/[\x{4e00}-\x{9fa5}]+/ui";
$str = null;
if(!preg_match($bad_char_reg, $name)
||
(
!preg_match($chinese_char_reg, $name, $str)
&&
!empty($str)
)
) {
return false;
}
return true;
}
function getDataStructure( $table_name )
{
if ( !is_string($table_name) ) {
return null;
}
if( !class_exists('think\facade\Db') ) {
throw new \think\Exception('the Db driver was not loaded,please add it');
}
if( !chec