![]() |
![]() ![]() |
![]() |
![]()
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 -------------------- Masz swoje mieszkanie i chcesz je wynająć? Sprawdź ofertę Zarzadządzanie Najmem
WRONA.IT - pozycjonowanie stron www.ecyklopedia.pl |
|
|
![]()
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 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 217 Pomógł: 23 Dołączył: 2.12.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie za rady... postaram się wszystko poprawić!
ad.7 Zaraz zacznę pisać większą funkcjonalność, tylko chciałem się upewnić czy dobrze piszę, żeby później nie było dużo poprawiania. Dzięki jeszcze raz, pozdrawiam! -------------------- Masz swoje mieszkanie i chcesz je wynająć? Sprawdź ofertę Zarzadządzanie Najmem
WRONA.IT - pozycjonowanie stron www.ecyklopedia.pl |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 278 Pomógł: 10 Dołączył: 13.02.2007 Skąd: Rybnik Ostrzeżenie: (0%) ![]() ![]() |
Przede wszystkim jeśli tworzysz klase do obsługi bazy danych to tylko po to, żeby sobie uprościć zapytania, zaoszczędzić tego żmudnego łączenia itp.
Przedstawiam moją klasę bazy danych. Piszę na niej od roku i jest wszystko gitara ![]()
Przykłady wykorzystania mogę napisać na PW osobom które będą zainteresowane, choć myślę, że klasa nie ma zbyt wiele innowacji i każdy średniozaawansowany programista php da sobie radę z wykorzystaniem ![]() -------------------- Nawet, jeżeli nie jesteś zainteresowany usługami IT ani outsourcingiem, a Twoją pasją jest programowanie - zobacz naszą stronę. Piszemy dużo fajnych use-caseów, jak podchodzimy do tematu programowania dla naszych klientów. A tak na co dzień tworzymy budujemy mvp oraz tworzymy platformę b2b.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 108 Pomógł: 26 Dołączył: 29.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
A nie lepiej już użyć PDO/Creole/Propel(ORM)?
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 278 Pomógł: 10 Dołączył: 13.02.2007 Skąd: Rybnik Ostrzeżenie: (0%) ![]() ![]() |
@Xniver:
A na czym jest oparta ta klasa? ![]() Creole? Proszę bardzo. Mówisz masz - też mam taką klase ![]()
Pozdro =) -------------------- Nawet, jeżeli nie jesteś zainteresowany usługami IT ani outsourcingiem, a Twoją pasją jest programowanie - zobacz naszą stronę. Piszemy dużo fajnych use-caseów, jak podchodzimy do tematu programowania dla naszych klientów. A tak na co dzień tworzymy budujemy mvp oraz tworzymy platformę b2b.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 108 Pomógł: 26 Dołączył: 29.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Sorki, nie zauważyłem ,że używasz już PDO(myślałem ,że zwykłe mysql_*). A poza tym polecam używanie Propela, bardzo fajnie się z niego korzysta.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 23.06.2025 - 01:23 |