Mam sobie plik z łączeniem z bazą danych config.php
class Database{ private function __construct(){} try{ self::$db=new PDO(self::$datasource,self::$username,self::$password); } catch(PDOExceptin $e) { $error=$e->getMessage(); } } return self::$db; } }
No i tutaj wszystko działa, problem rodzi się gdy chce coś dodać bo bazy, ładuje plik z klasą odpowiedzialną za łączenie z bazą danych require_once ('config.php'); zarówno w pliku index.php jak i pliku który przechowuje pozostałe klasy nowaclass.php. Zacząłem pisać klasę odpowiedzialną za tworzenie użytkownika,
class Uzytkownik { public function __construct() { $pdo = Database::getDB(); } public function addUser() { \'Login_Login\')'); } }
Coś takiego nie przynosi rezultatu i oddaje błąd, że funkcją exec próbuje odwołać się do czegoś co nie jest obiektem
"Fatal error: Call to a member function exec() on a non-object"
Ale gdy tą metodę zrobię w ten sposób
class Uzytkownik { public function addUser() { $pdo = Database::getDB(); \'Login_Login\')'); } }
Wszystko działa ok, stąd moje pytanie, jak zrobić iż globalnie tworzę obiekt $pdo = Database::getDB(); i nie muszę łączyć się z bazą danych za każdym razem w metodzie gdy chcę tego użyć ?
Opcjonalnie nie tylko w danej klasie ale także dla innych klas.