class db { self::$database = $config; } public function __construct(){ $this->db = new PDO(self::$database['driver'].':host='.self::$database['server'].';dbname='.self::$database['dbname'].'',self:: $database['username'], self::$database['password']); } }
wywołanie w takim razie bazy danych wygląda tak
db::config($database); class test{ public function test(){ $db = new db; } }
i już w klasie test możemy korzystać z pdo w taki sposób
class test{ public function test(){ $db = new db; $db->db->prepare('jakieś zapytanie'); }
nie jest to zbyt eleganckie. Kurczę aż się prosi żeby można było zrobić coś takiego. niestety konstruktor nie ma zamiaru zwracać żadnej wartości
class db { self::$database = $config; } public function __construct(){ return new PDO(self::$database['driver'].':host='.self::$database['server'].';dbname='.self::$database['dbname'].'',self:: $database['username'], self::$database['password']); } }
wtedy wywołanie mogłoby wyglądać tak
class test{ public function test(){ $db = new db; $db->prepare('jakieś zapytanie'); }
moglibyście pomóc mi jak za pomocą statycznej metody przekazać dane, a potem tylko dzięki wywołaniu klasy od razu ze wszystkiego korzystać. Nie wiem czy dosyć jasno się wyraziłem. Ciężko trochę to wytłumaczyć
