Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 217 Pomógł: 23 Dołączył: 2.12.2007 Skąd: Warszawa Ostrzeżenie: (0%)
|
Witam, zacząłem pisać sobie prostą klasę do obsługi baz danych. Zawierać będzie podstawowe funkcje, czyli łączenie, rozłaczanie, dodawanie, edycję i kasowanie rekordów. Mam już początek i chciałbym spytać Was, może bardziej doświadczonych, czy idę w dobrym kierunku i czy takie pisanie jest poprawne. Byłbym wdzięczny za jakieś opinie i uwagi.
Oto kod: Kod class MySQL {
private $type, #typ $host, #host $user, #uzytkownik $name, #nazwa bazy $password, #haslo do bazy $connection; #uchwyt do polaczenia public $active, #uchwyt do akutalnego zapytania $time, #czas wykonania zapytan $count, #ilosc zapytan $error; #ewentualne bledy #konstruktor klasy MySQL function __construct() { require_once('db-config.php') or die('Error, file not found!'); $this->type = $type; $this->host = $host; $this->user = $user; $this->name = $name; $this->password = $password; $this->count = 0; if(!isset($this->connection)) { $this->Connect(); } } #laczy sie z baza danych function Connect() { $this->connection = mysql_connect('$this->host','$this->name','$this->user','$this->password') or die ('Error!'); } #rozlacza sie z baza danych function Disconnect() { mysql_close($this->connection); } #w razie niepowodzenia wywala blad function Error(){ $this->error = mysql_error(); } } #end class |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
Oto moje uwagi:
1. Zamiast "private $pole1, pole2;" wypisywać każde osobno tj. "private $pole1; private $pole2;" 2. Przyjęło się poprzedzać nazwy prywatnych składowych podkreśleniem tj. "private $_pole1;" 3. Przyjęło się nazwy metod/pól rozpoczynać małą literą. 4. W konstruktorze klasy możesz jako opcjonalny parametr podawać ścieżkę do pliku z configiem, a jeśli takowa nie zostanie podana to próbujesz wczytać domyślny plik. 5. Komentarze pisz w stylu phpdoc. 6a. Działa ci twój kod? Konkretnie chodzi mi o:
według mojej wiedzy to nie ma prawa działać (wywal te ' w mysql_connect()). 6b. Czy aby nie masz za dużo parametrów w mysql_connect()? Zobacz jakie parametry powinna przyjmować funkcja mysql_connect" title="Zobacz w manualu PHP" target="_manual. 7. Szkoda, że klasa nie robi nic poza nawiązywaniem i kończeniem połączenia z bazą... Ten post edytował phpion 2.03.2008, 21:42:11 |
|
|
|
Maciekbjw [php][mysql] Klasa do obsługi baz danych. 2.03.2008, 21:27:17
Maciekbjw Dzięki wielkie za rady... postaram się wszystko po... 2.03.2008, 21:44:38
matix Przede wszystkim jeśli tworzysz klase do obsługi b... 2.03.2008, 22:09:27
Xniver A nie lepiej już użyć PDO/Creole/Propel(ORM)? 2.03.2008, 22:11:27
matix @Xniver:
A na czym jest oparta ta klasa?
Creole?... 2.03.2008, 22:47:50
Xniver Sorki, nie zauważyłem ,że używasz już PDO(myślałem... 2.03.2008, 23:04:11 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 00:33 |