Merge
This commit is contained in:
@@ -9,6 +9,9 @@ class ConversionHelper
|
||||
*/
|
||||
public static function dataStringToArray(string $dataString): array
|
||||
{
|
||||
if (mb_substr($dataString, -1) === '|') {
|
||||
$dataString = rtrim($dataString, '|');
|
||||
}
|
||||
$arr = json_decode(str_replace(['=', '|'], ['":', ',"'], '{"' . $dataString . '}'), true);
|
||||
return $arr ?: [];
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
namespace Core;
|
||||
|
||||
use Exception;
|
||||
use PDO;
|
||||
use PDOException;
|
||||
use PDOStatement;
|
||||
@@ -15,22 +14,71 @@ class Db
|
||||
|
||||
/**
|
||||
* DB constructor.
|
||||
* @throws Exception
|
||||
* @throws PDOException
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
try {
|
||||
self::$db = Database::pdoinit();
|
||||
} catch (PDOException $e) {
|
||||
throw new Exception($e->getMessage());
|
||||
throw new PDOException($e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $query
|
||||
* @return int
|
||||
*/
|
||||
public static function exec(string $query): int
|
||||
{
|
||||
self::init();
|
||||
return self::$db->exec($query);
|
||||
}
|
||||
|
||||
private static function init(): void
|
||||
{
|
||||
self::$instance ??= new self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ?string $name [optional] Name of the sequence object from which the ID should be returned.
|
||||
* @return string
|
||||
*/
|
||||
public static function lastInsertId(?string $name = null): string
|
||||
{
|
||||
self::init();
|
||||
return self::$db->lastInsertId($name);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $query
|
||||
* @param array $args
|
||||
* @return array
|
||||
*/
|
||||
public static function getRows(string $query, array $args = []): array
|
||||
{
|
||||
return self::run($query, $args)->fetchAll();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $query
|
||||
* @param array $args
|
||||
* @return PDOStatement
|
||||
*/
|
||||
public static function run(string $query, array $args = []): PDOStatement
|
||||
{
|
||||
try {
|
||||
if (!$args) {
|
||||
return self::query($query);
|
||||
}
|
||||
$stmt = self::prepare($query);
|
||||
$stmt->execute($args);
|
||||
return $stmt;
|
||||
} catch (PDOException $e) {
|
||||
throw new PDOException($e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $stmt
|
||||
* @return PDOStatement
|
||||
@@ -51,64 +99,6 @@ class Db
|
||||
return self::$db->prepare($stmt);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $query
|
||||
* @return int
|
||||
*/
|
||||
static public function exec(string $query): int
|
||||
{
|
||||
self::init();
|
||||
return self::$db->exec($query);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
static public function lastInsertId(): string
|
||||
{
|
||||
self::init();
|
||||
return self::$db->lastInsertId();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $query
|
||||
* @param array $args
|
||||
* @return PDOStatement
|
||||
*/
|
||||
public static function run(string $query, array $args = []): PDOStatement
|
||||
{
|
||||
try {
|
||||
if (!$args) {
|
||||
return self::query($query);
|
||||
}
|
||||
$stmt = self::prepare($query);
|
||||
$stmt->execute($args);
|
||||
return $stmt;
|
||||
} catch (PDOException $e) {
|
||||
throw new PDOException($e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $query
|
||||
* @param array $args
|
||||
* @return mixed
|
||||
*/
|
||||
public static function getRow(string $query, array $args = [])
|
||||
{
|
||||
return self::run($query, $args)->fetch();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $query
|
||||
* @param array $args
|
||||
* @return array
|
||||
*/
|
||||
public static function getRows(string $query, array $args = []): array
|
||||
{
|
||||
return self::run($query, $args)->fetchAll();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $query
|
||||
* @param array $args
|
||||
@@ -123,6 +113,16 @@ class Db
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $query
|
||||
* @param array $args
|
||||
* @return mixed
|
||||
*/
|
||||
public static function getRow(string $query, array $args = [])
|
||||
{
|
||||
return self::run($query, $args)->fetch();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $query
|
||||
* @param array $args
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace Core;
|
||||
|
||||
class View
|
||||
{
|
||||
public static function render(string $view, array $arguments = [])
|
||||
{
|
||||
extract($arguments, EXTR_SKIP);
|
||||
$file = $_SERVER['DOCUMENT_ROOT'] . "/_incl_data/Views/$view";
|
||||
|
||||
if (is_readable($file)) {
|
||||
require $file;
|
||||
} else {
|
||||
trigger_error("File $file not found!", E_USER_ERROR);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user