database class - prosba o opinie |
database class - prosba o opinie |
8.04.2013, 10:23:08
Post
#1
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 20.03.2004 Skąd: Londyn Ostrzeżenie: (0%) |
Witam,
Stawiam 'pierwsze' kroki w projektowaniu obiektowym - bylbym wdzieczny za opinie i komentarze zwlaszcza krytyczne. Moim celem jest uproszczenie i ujednolicenie sposobu w jaki komunikuje sie z baza danych. Czy ktos moze wskazac zagrozenia i luki w bezpieczenstwie - czy cos przegapilem albo poprostu o tym nie wiem ? Czy mozna dodac cos jeszcze co ulatwiloby polaczenie do DB ? Dziekuje za poswiecony czas. Ps. wiem tekze ze moge uzyc $db = new mysqli(); ale chcialem stworzyc cos wlasnego. (config.php)
(mysqldatabase.php)
Ten post edytował foxmark 8.04.2013, 10:25:27 |
|
|
8.04.2013, 10:55:47
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) |
Tylko w czym Twoje rozwiązanie jest lepsze od samego PDO, lub nadbudówki na nie?
I czy:
Nie zablokuje działania w niektórych przypadkach. Usuń też @ z kodu. Ten post edytował !*! 8.04.2013, 10:57:22 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
8.04.2013, 11:15:58
Post
#3
|
|
Grupa: Zarejestrowani Postów: 195 Pomógł: 14 Dołączył: 12.01.2006 Skąd: Gotham City Ostrzeżenie: (0%) |
Jeżeli stwiasz pierwsze kroki to skup się na robieniu obiektów dziedziny.
Przygotowuj zapytania, korzystaj z prepejrów, binduj parametry, korzystaj z tranzakcji. Daruj sobie defined. Stwórz klase konfiguracyjna z stałymi lub statycznymi polami. Używaj przestrzeni nazw. Korzystaj z spl_autoloader zamiast z rekłirów i inkludów. Jeżeli chcesz uprościć komunikacje z bazą to się z nią nie komunikuj bezpośrednio. Korzystasz z obiektów dziedziny , a to gdzie to jest utrwalane czy z jakiego źródła pobierane nie ma znaczeia. Obiekt dziedziny->Odwzorowanie danych->Polaczenie z baza. Wzorców projektówych, znanych rozwiązań, dobrych praktyk odnosnie utrwalania jest masa, poznaj je. Przeczytaj to architektura-systemow-zarzadzania-przedsiebiorstwem-wzorce-projektowe-martin-fowler Jeżeli przedstawiasz klase to przedstaw też w jaki sposób z niej korzystasz i opisz jakie korzyści ci daje. Ten post edytował emp 8.04.2013, 11:29:52 -------------------- Temat zamykam i przenoszę do Bangladeszu.
To jest wiadomość śmierci jeśli ją czytasz to znaczy że pozostało ci 30 sekund życia, więc lepiej zacznij się modlić. |
|
|
8.04.2013, 12:01:38
Post
#4
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 20.03.2004 Skąd: Londyn Ostrzeżenie: (0%) |
Tylko w czym Twoje rozwiązanie jest lepsze od samego PDO, lub nadbudówki na nie? I czy:
Nie zablokuje działania w niektórych przypadkach. Usuń też @ z kodu. Dziekuje za Twoja opinie. * myslalem o wylaczeniu __destruct() - dzieki za rade. * @ uzylem tylko dlatego ze scrypt php karmi aplikacje (oparta o flash - adobe flex) nie wyrzucam nic na ekranie i takie zachowanie konczy sie bledem aplikacji. * PDO to nastepny krok - narazie staram sie poznac zasady dzialania i latwiej jest mi poslugiwac sie znanym juz mysqli. Jeżeli stwiasz pierwsze kroki to skup się na robieniu obiektów dziedziny. Przygotowuj zapytania, korzystaj z prepejrów, binduj parametry, korzystaj z tranzakcji. Daruj sobie defined. Stwórz klase konfiguracyjna z stałymi lub statycznymi polami. Używaj przestrzeni nazw. Korzystaj z spl_autoloader zamiast z rekłirów i inkludów. Jeżeli chcesz uprościć komunikacje z bazą to się z nią nie komunikuj bezpośrednio. Korzystasz z obiektów dziedziny , a to gdzie to jest utrwalane czy z jakiego źródła pobierane nie ma znaczeia. Obiekt dziedziny->Odwzorowanie danych->Polaczenie z baza. Wzorców projektówych, znanych rozwiązań, dobrych praktyk odnosnie utrwalania jest masa, poznaj je. Przeczytaj to architektura-systemow-zarzadzania-przedsiebiorstwem-wzorce-projektowe-martin-fowler Jeżeli przedstawiasz klase to przedstaw też w jaki sposób z niej korzystasz i opisz jakie korzyści ci daje. Dzieki za inforamcje. * Postaram sie przedstawic statyczna wersje clasy. * Ponizej podaje uzycie classy - oczywiscie normalnie jako czesc metody innej klasy (tutaj tylko zwykly kod).
* staralem sie znalesc w sieci jakis dobry tutorial jak zbudowac taka klase ale bez wiekszego rezultatu - czy znasz cos wartego polecenia na czym moglbym sie doksztalcac ? Ten post edytował foxmark 8.04.2013, 11:53:25 |
|
|
8.04.2013, 14:35:42
Post
#5
|
|
Grupa: Zarejestrowani Postów: 195 Pomógł: 14 Dołączył: 12.01.2006 Skąd: Gotham City Ostrzeżenie: (0%) |
Też kiedyś naskrobałem podobna klase
Użycie
Takiej klasy nie używam przy produkcji oprogramowania. Zawsze korzystam z obiektów dziedziny i wzorca data maper w szczegolnych przypadkach korzystam z podobnej klasy ale opartej na prepejrach i zamknietej w kontekście tranzakcji, ecz jest to tylko opakowanie pdo. Wtedy korzystam z tego tak
To tego rozwiązania mam Fabryke_polaczen, klase polaczenia i klase sql która wygląda tak
-------------------- Temat zamykam i przenoszę do Bangladeszu.
To jest wiadomość śmierci jeśli ją czytasz to znaczy że pozostało ci 30 sekund życia, więc lepiej zacznij się modlić. |
|
|
17.04.2013, 12:17:32
Post
#6
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 20.03.2004 Skąd: Londyn Ostrzeżenie: (0%) |
Też kiedyś naskrobałem podobna klase ... Dziekuje za kod - zerkne przez weekend czy bede w stanie go zrozumiec Przygotowuj zapytania, korzystaj z prepejrów, binduj parametry, korzystaj z tranzakcji. Daruj sobie defined. Stwórz klase konfiguracyjna z stałymi lub statycznymi polami. Używaj przestrzeni nazw. Korzystaj z spl_autoloader zamiast z rekłirów i inkludów. ... Witam ponownie, wiem juz ze powininem uzywac mysqli_prepare -> mysqli_stmt_bind_param -> mysqli_stmt_execute zeby poprawic szybkosc i bezpieczenstwo napotkalem jednak problem - chce dynamicznie kontrolowac ilosc zmiennych ktore wysylam. czytalem http://ca.php.net/manual/en/mysqli-stmt.bi...aram.php#104073 i do swojej klasy dodalem 3 nowe metody - wszystko dziala (ale nie wiem czemu ) - chcialbym zrozumiec co sie dzieje w:
to sa metody ktore dodalem
tutaj uzycie (wewnatrz innej klasy):
czy moge bezpiecznie uzywac tej metody? czy cos jest z tym nie tak? kolejne pytanie: korzystaj z tranzakcji - czy musze uzywac tranzakcji zawsze czy tylko w ciagu zapytan zaleznych od siebie - i jesli musze jak zaczac korzystac z tranzakcji (znam tylko definicje ale nie znam zasad dzialania ani uzycia) Gdzie moge znalesc dodatkowe informacje? Dziekuje za poswiecony mi czas. Pozdrawiam! Ten post edytował foxmark 17.04.2013, 15:17:23 |
|
|
Wersja Lo-Fi | Aktualny czas: 11.05.2024 - 14:28 |