![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 417 Pomógł: 44 Dołączył: 23.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Chciałbym poddać ocenie napisany dziś obiekt, który ma mi ułatwić i przyśpieszyć akcje związane z bazą danych.
Podkreślam ,że dopiero rozpoczynam przygodę z programowaniem obiektowym. Głównie chodzi mi o ocenę wydajnośći skryptu. - Nie wiem czy lepiej być stale połączonym z bazą czy co chwile otwierać nowe połączenia(tak jak w klasie). W kodzie może być malutki bałagan ale wszyscy wiemy jak coś wygląda gdy robi się to po dniu pracy. Funkcje: -insert -update -select Wszystko POWINNO chodzić sprawnie.
Podkreślam, że póki co w programowaniu obiektowym raczkuje... Przyjmuje na klatę całą krytykę i sugestie na które niecierpliwie czekam. Przykład zastosowania:
Ten post edytował Posio 16.06.2012, 17:56:19 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
1. Szkoda, że ograniczasz się jedynie do MySQL poprzez zastosowanie `. W przypadku użycia PostgreSQL otrzymasz błąd - tam kolumny escape'uje się za pomocą ".
2. Czy nie prościej do insert i update przekazać tablicę wartości na zasadzie klucz -> wartość, np:
3. Składowe $_host, $_database itd. wydają mi się zbędne. Zamiast nich przetrzymywałbym całą tablicę $_config. 4. W każdej metodzie tworzysz na nowo obiekt PDO. Wyodrębnij to do osobnej metody connect. 5. Brakuje metody delete ![]() |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 417 Pomógł: 44 Dołączył: 23.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
phpion
1. Czy ` i " są zbędne dla baz danych ? Jeśli tak na pewno troszkę to przestawię. 2. Racja -,- nie pomyślałem nad łatwiejszą i przyjemniejszą drogą ale obydwa rozwiązania działają prawidłowo 3. Zanim pomyślałem, że dane do bazy będę pobierał z klasy konfiguracji wszystkie dane dot. bazy wyglądały tak:
-> aby nie tracić czasu po prostu w funkcji __construct traktuje je danymi z tablicy. 4. To mnie najbardziej trapi. Gdzieś kiedyś rzucił mi się w oczy artykuł na temat tworzenia połączeń z bazą i ponoć każdorazowo tworząc nowe połączenie (wcześniej zamykając stare) zwiększamy bezpieczeństwo. Nie wiem na jakiej zasadzie ma to działać, możliwe że wprowadziło mnie to w błąd ale zostawiam to jeszcze do przedyskutowania nim wyodrębnie metode. 5. Rzeczywiście zapomniałem - napisze jeszcze dziś albo jak znajde troszkę wolnego czasu Ten post edytował Posio 16.06.2012, 18:22:47 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Jest jakiś sens wymyślać tutaj koło na nowo*? W dodatku dosyć kanciaste koło.
* a to tylko jeden przykład. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
A nie lepiej byłoby robić coś takiego (zakładając że chcesz coś własnego):
Tym sposobem: 1. Nie robisz jakiejś chorej nakładki na zapytania 2. Korzystasz bezpośrednio z PDO -------------------- 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). |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 417 Pomógł: 44 Dołączył: 23.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Crozin
Niestety ale muszę się z tobą zgodzić. Nie ma sensu. Ale w myśl że tworząc takie "kanciate koła" zdobywam doświadczenie i koła te będą coraz to bardziej okrągłe ... znajduje powoli sens... Gdybym potrzebował tego do tworzenia aplikacji czy strony, wierz mi, że wpadłbym na to żeby poszukać czy ktoś przypadkiem już tego PORZĄDNIE nie zrobił ... Nie zakładajmy że skrypt nadaje się do globalnego użycia etc. bo się nie nadaje. Nie jestem profesjonalistą i pewnie nigdy ni będę, opublikowałem swoją pracę ponieważ chcę się uczyć a jeśli nikt nie podpowie co mam poprawić, stoje w miejscu. - Ty umieściłeś tylko uwagę, że coś co działa podobnie jest dostępne. To nie jest ocena ... (nie licząc kanciatego koła ;P) Ten post edytował Posio 16.06.2012, 18:38:45 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
W czym to:
jest lepsze od:
? Klasa paskudnie napisana. Nie widzę jakiegoś sensowniejszego zastosowania. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Posio - wybacz że się wcinam, ale skoro już jesteśmy w temacie, łączenia się z bazą. Jakbyście rozwiązali połączenia w jednej aplikacji dla wielu baz danych? Np przystosowanie forum, podczas instalacji jest wybór bazy np. mysql, ta informacja zapisana jest w cfg, ale co dalej? W kodzie dać coś takiego:
Czy są inne sposoby na coś takiego? Ten post edytował !*! 16.06.2012, 18:49:58 -------------------- 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). |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 417 Pomógł: 44 Dołączył: 23.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
!*! - Spoko
Spawnm - O PDO I OOP uczyłem się tylko z wikibooks, staram się robić tak jak oni naprowadzali co i tak mi w pełni nie wychodzi. No i... chyba w niczym nie jest lepsze |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
@Posio: Teraz dopiero zauważyłem, że to wątek w dziale Oceny.
![]() |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 417 Pomógł: 44 Dołączył: 23.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
@Crozin
Wielkie dzięki za dobre porady, na pewno się zastosuje i spróbuje zrobić coś bardziej sensownego niż powyższa namiastka klasy. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 10:14 |