Klasa MySQL |
Klasa MySQL |
22.12.2012, 14:13:35
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 22.12.2012 Ostrzeżenie: (0%) |
Witam.
Mam na imię Tomek, lat mam 15 skończone 11 grudnia. PHP zajmuje się parę miesięcy a OOP może miesiąc, akurat tym językiem, ponieważ uważam że on jest jak dla mnie najłtawiejszy Napisałem klasę MySQL w celu edukacyjnym, Proszę o ocene. Krytyka jak najmilej widziana ( Tylko nie do przesady ).
Temat ten sam napisałem w dziale php lecz niestety on został zamknięty Ponieważ moderator nie zrozumiał posta, a ja chciałem tylko ocenę |
|
|
22.12.2012, 14:31:14
Post
#2
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 32 Dołączył: 21.08.2008 Skąd: Toruń Ostrzeżenie: (0%) |
var? Chyba nieporozumienie. Gdzie public, protected, private? Poczytaj o standardzie kodowania PSR2. Jakis wzorzec projektowy terz by sie przydal. Podejrzyj klasy od PDO.
Ten post edytował jasin 22.12.2012, 14:35:49 -------------------- |
|
|
22.12.2012, 14:35:26
Post
#3
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 22 Dołączył: 14.12.2007 Skąd: Wyszków Ostrzeżenie: (0%) |
Dlaczego po prostu nie będzie to:
Zresztą... używanie metod setParam przy łączeniu się z bazą, czyni Twoją bibliotekę nie wygodną do obsługi. Moim zdaniem, dane do dotyczące dostępu do bazy danych powinny być przekazywane do konstruktora klasy. Podobnie jest w wielu popularnych bibliotekach, np. PDO. Używasz dość przestarzałej konstrukcji definicji klas (bodajże kiedyś, za czasów PHP4 takiej się używało). Nie ustalasz dostępu dla pół i metod (public, private/protected). Póki co masz braki z OOP. Jestem pod wrażeniem przejrzystości kodu. Szczerze. Jeśli mówisz prawdę to masz bardzo duży progress w małym odstępie czasu. Pozdrawiam. EDIT:
Rozumiem, że to obsługa błędów generowanych przez Twoją bibliotekę? Niestety takie rozwiązanie nie daje mi, jako programiście końcowemu, możliwości obsługi tych błędów. O wiele ładniejsze rozwiązanie to wyjątki. Poczytaj o tym: http://pl1.php.net/exceptions Ten post edytował Kofel 22.12.2012, 14:43:39 |
|
|
22.12.2012, 14:58:18
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) |
Bez sensu zupełnie.
- Skoro jest to klasa do obsługi jednego połączenia, to po co całe te setParam(). Te wszystkie dane powinno się przekazać w konstruktorze. Nawet w przypadku, jakby była to klasa do obsługi wielu połączeń to powinna być jakaś tablica z połączeniami
- Po co ta metoda getParam() ? Jakby programista zapomniał jakie dane wpisał do połączenia z bazą danych w międzyczasie czy jak? - Mało mówiące nazwy metod / pól. ($_connection, co connection? Mogłoby być coś w stylu $is_connected, setParam(), getParam() parametry czego?). Niby jest opis z PHPDoc, ale przy większych skryptach / projektach potem ciężko się połapać. - metoda query(), a potem oddzielna dla samego INSERT? Musisz się zdecydować. Albo zostawiasz funkcję query() (tyle, że jakoś lepiej skonstruowaną), albo dla zapytań robisz oddzielne select(), insert(), update() itd. - Brak jakichkolwiek public / protected / private. PHP4 to już przeszłość. // ADD Dodatkowo używanie addslashes(), zamiast (real_)escape_string(); Ten post edytował pyro 22.12.2012, 14:46:40 -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
Wersja Lo-Fi | Aktualny czas: 12.05.2024 - 06:24 |