Moved to folder backend
This commit is contained in:
parent
4752fedc5c
commit
a7d9c0bf51
8
.gitignore
vendored
8
.gitignore
vendored
@ -1,5 +1,5 @@
|
||||
data/classes/Setting.php
|
||||
data/cache
|
||||
data/tmp
|
||||
data/qr
|
||||
backend/classes/Setting.php
|
||||
backend/cache
|
||||
backend/tmp
|
||||
backend/qr
|
||||
.idea
|
||||
|
@ -1,8 +1,8 @@
|
||||
<?php
|
||||
|
||||
require '../../data/classes/core/Autoloader.php';
|
||||
require '../../backend/classes/core/Autoloader.php';
|
||||
|
||||
$autoloader = new Autoloader('../../data/cache/');
|
||||
$autoloader = new Autoloader('../../backend/cache/');
|
||||
|
||||
$session = new Session();
|
||||
|
||||
|
@ -4,9 +4,9 @@ declare(strict_types=1);
|
||||
|
||||
class Autoloader
|
||||
{
|
||||
private const PATH_CLASSES = 'data/classes';
|
||||
private const PATH_CLASSES = 'backend/classes';
|
||||
private const PATH_CONTROLLERS = self::PATH_CLASSES . '/controller';
|
||||
private const PATH_CACHE = 'data/cache/';
|
||||
private const PATH_CACHE = 'backend/cache/';
|
||||
|
||||
public function __construct(string $cachePath = self::PATH_CACHE)
|
||||
{
|
@ -21,7 +21,7 @@ interface DatabaseInterface
|
||||
public function getResult(): array;
|
||||
|
||||
/**
|
||||
* Selects data from a table.
|
||||
* Selects backend from a table.
|
||||
*/
|
||||
public function Select(
|
||||
string $tableName,
|
||||
@ -44,7 +44,7 @@ interface DatabaseInterface
|
||||
public function Insert(string $table, array $fields): ?int;
|
||||
|
||||
/**
|
||||
* Edits data inside a table.
|
||||
* Edits backend inside a table.
|
||||
*/
|
||||
public function Update(string $table, array $fields, array $conditions): void;
|
||||
|
@ -16,7 +16,11 @@ final class MySqlDatabase implements DatabaseInterface
|
||||
string $password = Setting::MYSQL_PASSWORD,
|
||||
string $database = Setting::MYSQL_DATABASE
|
||||
) {
|
||||
$this->connection = new PDO("mysql:host=$hostname;dbname=$database", $user, $password);
|
||||
try {
|
||||
$this->connection = new PDO("mysql:host=$hostname;dbname=$database", $user, $password);
|
||||
} catch (Throwable $e) {
|
||||
throw new DatabaseException('Couldn\'t connect to the database!');
|
||||
}
|
||||
}
|
||||
|
||||
public function __destruct()
|
||||
@ -24,15 +28,15 @@ final class MySqlDatabase implements DatabaseInterface
|
||||
$this->connection = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function Query(string $query, array $params = []): void
|
||||
{
|
||||
$this->cursor = $this->connection->prepare($query);
|
||||
|
||||
if (!$this->cursor) {
|
||||
throw new Exception('Initialization of database cursor failed');
|
||||
throw new DatabaseException(
|
||||
'Initialization of database cursor failed',
|
||||
DatabaseException::CONNECTION_FAILED
|
||||
);
|
||||
}
|
||||
|
||||
foreach ($params as $key => $param) {
|
||||
@ -44,13 +48,10 @@ final class MySqlDatabase implements DatabaseInterface
|
||||
}
|
||||
|
||||
if (!$this->cursor->execute()) {
|
||||
throw new Exception($this->cursor->errorInfo()[2]);
|
||||
throw new DatabaseException($this->cursor->errorInfo()[2], $this->cursor->errorInfo()[1]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function getResult(): array
|
||||
{
|
||||
$result = [];
|
||||
@ -69,7 +70,7 @@ final class MySqlDatabase implements DatabaseInterface
|
||||
}
|
||||
|
||||
/**
|
||||
* Selects data from a table.
|
||||
* Selects backend from a table.
|
||||
*/
|
||||
public function Select(
|
||||
string $tableName,
|
||||
@ -167,13 +168,10 @@ final class MySqlDatabase implements DatabaseInterface
|
||||
$this->Query($query, $conditions);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function Insert(string $table, array $fields): ?int
|
||||
{
|
||||
if (count($fields) === 0) {
|
||||
throw new Exception('Row to insert is empty!');
|
||||
throw new DatabaseException('Row to insert is empty!');
|
||||
}
|
||||
|
||||
$fieldNames = implode(',', array_keys($fields));
|
||||
@ -198,9 +196,6 @@ final class MySqlDatabase implements DatabaseInterface
|
||||
return $lastInsertedId;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function Update(string $table, array $fields, array $conditions): void
|
||||
{
|
||||
$conditionPairs = [];
|
||||
@ -227,9 +222,6 @@ final class MySqlDatabase implements DatabaseInterface
|
||||
$this->Query($query, array_merge($fields, $conditions));
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function Count(string $table, array $conditions = []): int
|
||||
{
|
||||
$result = $this->Select($table, ['count(*)'], $conditions);
|
||||
@ -260,9 +252,6 @@ final class MySqlDatabase implements DatabaseInterface
|
||||
$this->isTransactionOpen = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function GetLastInsertedId(): int
|
||||
{
|
||||
$this->Query('SELECT LAST_INSERT_ID() as ID');
|
@ -29,6 +29,7 @@ final class Router
|
||||
if (count($matches[0]) > 0) {
|
||||
$class = new ReflectionClass($params['controller']);
|
||||
|
||||
/** @var AbstractController $controller */
|
||||
$controller = $class->newInstance($matches[0][0]);
|
||||
|
||||
if ($this->requestBody !== null && $this->contentType !== null) {
|
@ -24,10 +24,9 @@ final class Session
|
||||
}
|
||||
}
|
||||
|
||||
public function Destroy(): void
|
||||
public function Destroy(): bool
|
||||
{
|
||||
session_unset();
|
||||
session_destroy();
|
||||
return session_unset() && session_destroy();
|
||||
}
|
||||
|
||||
public function Login(string $usernameOrEmail, string $password): bool
|
@ -236,7 +236,7 @@ abstract class Table
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the index is a valid data type.
|
||||
* Checks if the index is a valid backend type.
|
||||
*/
|
||||
public static function IsValidType(int $type): bool
|
||||
{
|
8
backend/classes/exception/DatabaseException.php
Normal file
8
backend/classes/exception/DatabaseException.php
Normal file
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
final class DatabaseException extends Exception
|
||||
{
|
||||
public const CONNECTION_FAILED = 1;
|
||||
}
|
5
backend/scripts/generate.php
Normal file
5
backend/scripts/generate.php
Normal file
@ -0,0 +1,5 @@
|
||||
<?php
|
||||
|
||||
require 'backend/classes/core/Autoloader.php';
|
||||
|
||||
Autoloader::BuildCache();
|
@ -1,7 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
class DatabaseException extends Exception
|
||||
{
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
<?php
|
||||
|
||||
require 'data/classes/core/Autoloader.php';
|
||||
|
||||
Autoloader::BuildCache();
|
Loading…
Reference in New Issue
Block a user