Migrate to strong typed (compatible only with PHP 7.0+).

This commit is contained in:
kj
2022-03-17 17:22:04 -04:00
parent 503efef448
commit f43028d72d
4 changed files with 120 additions and 71 deletions

View File

@ -2,7 +2,7 @@
/*
* DuckBrain - Microframework
*
* Clase diseñada para crear y devolver una única instancia mysqli.
* Clase diseñada para crear y devolver una única instancia mysqli (database).
* Depende de manera forzada de que estén definidas las constantes:
* dbhost, dbname, dbpass y dbuser
*
@ -12,15 +12,21 @@
*/
namespace Libs;
use mysqli;
class Database {
class Database extends \mysqli {
static private $db;
private function __construct() {}
static public function getConnection() {
/**
* Devuelve una instancia homogénea (singlenton) a la base de datos.
*
* @return mysqli
*/
static public function getConnection() : mysqli {
if (!isset(self::$db)) {
self::$db = new \mysqli(dbhost, dbuser, dbpass, dbname);
self::$db = new mysqli(dbhost, dbuser, dbpass, dbname);
if (self::$db->connect_errno) {
echo '<style>body{white-space: pre-line;}</style>';
throw new \Exception('No se ha podido conectar a la base de datos.');