table_name = $table_name; self::$table_instance[$table_name] = $this; } public static function getTableInstance($table_name) { if (isset(self::$table_instance[$table_name])) { return self::$table_instance[$table_name]; } return null; } public function select($what = []) { return new SelectBody($this, $what == [] ? ['*'] : $what); } public function where($column, $operation_or_value, $value = null) { return (new SelectBody($this, ['*']))->where($column, $operation_or_value, $value); } public function insert($row) { $this->cache = []; return new InsertBody($this, $row); } public function update(array $set_value) { $this->cache = []; return new UpdateBody($this, $set_value); } public function delete() { $this->cache = []; return new DeleteBody($this); } public function statement() { $this->cache = []; // TODO: 无返回的statement语句 } public function paintWhereSQL($rule, $operator) { if ($rule == []) { return ['', []]; } $msg = ''; $param = []; foreach ($rule as $k => $v) { if ($msg == '') { $msg .= $k . " {$operator} ? "; } else { $msg .= ' AND ' . $k . " {$operator} ?"; } $param[] = $v; } return [$msg, $param]; } /** * @return mixed */ public function getTableName() { return $this->table_name; } }