<?php namespace App\Classes; class Db { protected static $db; protected static $columns = []; protected static $sections = []; protected static $pages = []; //-------------------------------------// public static function load(): void { try { $host = Config::c('DB_HOST'); $name = Config::c('DB_NAME'); self::$db = new \PDO( "mysql:host=$host;dbname=$name;charset=utf8mb4", Config::c('DB_USERNAME'), Config::c('DB_PASSWORD') ); } catch (\PDOException $e) { throw new \PDOException($e->getMessage(), (int)$e->getCode()); } } //-------------------------------------// /** * Get the PDO connection object * * @return PDO */ public static function get(): \PDO { return self::$db; } /** * Get all columns * * @return array */ public static function getColumns(): array { return self::$columns; } /** * Get all sections * * @return array */ public static function getSections(): array { return self::$sections; } /** * Get all pages * * @return array */ public static function getPages(): array { return self::$pages; } /** * Store columns * * @param array $columns * * @return void */ public static function setColumns(array $columns): void { self::$columns = $columns; } /** * Store sections * * @param array $sections * * @return void */ public static function setSections(array $sections): void { self::$sections = $sections; } /** * Store pages * * @param array $pages * * @return void */ public static function setPages(array $pages): void { self::$pages = $pages; } }