update to 1.2 version

Generate systemd script
Default info_level set to 2
Modify & add some comment for Example module
Brand new Console
Add daemon command argument
Add #OnTick annotation
Add ZMRobot API class
This commit is contained in:
whale
2020-04-29 15:29:56 +08:00
parent e1983d6dd8
commit 169a751e0f
31 changed files with 872 additions and 200 deletions

View File

@@ -14,6 +14,9 @@ class DB
{
private static $table_list = [];
/**
* @throws DbException
*/
public static function initTableList() {
$result = self::rawQuery("select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='" . ZMBuf::globals("sql_config")["sql_database"] . "';", []);
foreach ($result as $v) {
@@ -40,10 +43,19 @@ class DB
return Table::getTableInstance($table_name);
}
/**
* @param $line
* @throws DbException
*/
public static function statement($line) {
self::rawQuery($line, []);
}
/**
* @param $line
* @return bool
* @throws DbException
*/
public static function unprepared($line) {
if (ZMBuf::get("sql_log") === true) {
$starttime = microtime(true);
@@ -64,11 +76,17 @@ class DB
"] " . $line . " (Error:" . $e->getMessage() . ")\n";
Coroutine::writeFile(CRASH_DIR . "sql.log", $log, FILE_APPEND);
}
Console::error($e->getMessage());
return false;
Console::warning($e->getMessage());
throw $e;
}
}
/**
* @param string $line
* @param array $params
* @return mixed
* @throws DbException
*/
public static function rawQuery(string $line, $params = []) {
if (ZMBuf::get("sql_log") === true) {
$starttime = microtime(true);
@@ -113,8 +131,8 @@ class DB
"] " . $line . " " . json_encode($params, JSON_UNESCAPED_UNICODE) . " (Error:" . $e->getMessage() . ")\n";
Coroutine::writeFile(CRASH_DIR . "sql.log", $log, FILE_APPEND);
}
Console::error($e->getMessage());
return false;
Console::warning($e->getMessage());
throw $e;
}
}

View File

@@ -4,6 +4,8 @@
namespace ZM\DB;
use ZM\Exception\DbException;
class DeleteBody
{
use WhereBody;
@@ -21,8 +23,12 @@ class DeleteBody
$this->table = $table;
}
/**
* @return mixed
* @throws DbException
*/
public function save() {
list($sql, $param) = $this->getWhereSQL();
return DB::rawQuery("DELETE FROM " . $this->table->getTableName() . " WHERE " . $sql, $param);
}
}
}

View File

@@ -4,6 +4,8 @@
namespace ZM\DB;
use ZM\Exception\DbException;
class InsertBody
{
/**
@@ -22,6 +24,9 @@ class InsertBody
$this->row = $row;
}
/**
* @throws DbException
*/
public function save() {
DB::rawQuery('INSERT INTO ' . $this->table->getTableName() . ' VALUES ('.implode(',', array_fill(0, count($this->row), '?')).')', $this->row);
}

View File

@@ -5,6 +5,7 @@ namespace ZM\DB;
use Framework\Console;
use ZM\Exception\DbException;
class SelectBody
{
@@ -23,8 +24,16 @@ class SelectBody
$this->select_thing = $select_thing;
}
/**
* @return null
* @throws DbException
*/
public function get() { return $this->fetchAll(); }
/**
* @return null
* @throws DbException
*/
public function fetchAll() {
if ($this->table->isCacheEnabled()) {
$rr = md5(implode(",", $this->select_thing) . serialize($this->where_thing));
@@ -40,10 +49,19 @@ class SelectBody
return $this->getResult();
}
/**
* @return mixed|null
* @throws DbException
*/
public function fetchFirst() {
return $this->fetchAll()[0] ?? null;
}
/**
* @param null $key
* @return mixed|null
* @throws DbException
*/
public function value($key = null) {
$r = $this->fetchFirst();
if ($r === null) return null;
@@ -52,6 +70,9 @@ class SelectBody
else return $r[$key] ?? null;
}
/**
* @throws DbException
*/
public function execute() {
$str = $this->queryPrepare();
$this->result = DB::rawQuery($str[0], $str[1]);