Jako że się uczę całe życie i staram rozwijać, teraz stanąłem przed kolejnym zadaniem. Chciałem zrobić sobie prosty formularz logowania (bez rejestracji itd) wykorzystując OOP i PDO do połączenia z bazą danych. Nie bardzo mogę sobie poradzić z organizacją kodu. Stworzyłem sobie klasę:
class Uzytkownik{ var imie; public function __construct($_imie){ $this->imie = $_imie; } }
Mam też klasę DB zaimplementowaną jako Singleton
class DB{ private username = "xxx"; private password = "xxx"; private host = "xxx"; private dbName = "xxx"; public function __contruct(){ $this->db = new PDO('mysql:host='.$host.';dbname='.$dbName, self::$username, self::$password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } $object = __CLASS__; self::$instance = new $object; } return self::$instance; } }
No i właśnie tutaj zaczynają się schody. Chciałbym mieć metodę do logowania. Czy ta metodę powinienem umieścić w klasie Użytkownika czy DB ? Jeśli w użytkowniku, to czy przypisywać zawsze użytkowniki instancję DB? Prosiłbym o pomoc, generalnie to opis tego jak Wy to robicie w swoich aplikacjach. Wiem że jak teraz źle coś zrobię, to potem poprawki będą ciężkie.
Generalnie najbardziej chodzi mi o rozwiązanie tego gdzie, co i w czym ma być w tych klasach żeby potem utworzenie formularza logowania zajęło raptem parę linijek, np
Index.php
Login.php
else $smarty->display('login_form.tpl');
Z góry dziękuję za porady