![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 565 Pomógł: 15 Dołączył: 11.10.2010 Ostrzeżenie: (20%) ![]() ![]() |
Witajcie
Dawno nic w php nie robiłem, więc tak dla przypomnienia zrobiłem sobie klasę, która łączy się z bazą danych. Mam takie pytanie - czy ja dobrze to zrobiłem? Co ewentualnie proponujecie zmienić? Ogólnie to jestem w trakcie przesiadki na OOP, więc nie krzyczcie ![]()
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 103 Pomógł: 17 Dołączył: 15.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
metode SetDBData zmien na protected i wywoluj ja z konstruktora ktory przyjmue potrzebne parametry. DbConnect tworzy instancje obiektu PDO ale gdzie zapisuujesz ta zmiena? zrob pole do ktorego przypisujesz zmienna typu PDO jako protected i moja ostatnia 3 uwaga to nie lap tak szybko wyjatkow lepiej obsluzyc je jak najwyzej
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
- nazwa UserInterface niewiele mówi i ma mało wspólnego z DB.
- w DBConnect powinieneś chyba zwracać ten obiekt PDO, aby móc na nim operować. - jak chcesz poza klasa używać $this? To nie zadziała. - wywal podkreślenia z nazw zmiennych, to nie czasy PHP4 -------------------- 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
#4
|
|
Grupa: Zarejestrowani Postów: 1 168 Pomógł: 126 Dołączył: 5.02.2010 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Sam używam podkreślenia do oznaczenia zmiennych, które przekazuje do metody. To zła praktyka?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Sam używam podkreślenia do oznaczenia zmiennych, które przekazuje do metody. To zła praktyka? http://forum.php.pl/index.php?s=&showt...t&p=1041800 kilka postów o tym dlaczego. -------------------- 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: 565 Pomógł: 15 Dołączył: 11.10.2010 Ostrzeżenie: (20%) ![]() ![]() |
Dostaję: Fatal error: Call to protected method DB::Set() from context '' in... Wyjaśni ktoś dlaczego? |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie możesz się odwołać do metody która jest prywatna lub chroniona. http://pl.wikibooks.org/wiki/PHP
-------------------- 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
#8
|
|
Grupa: Zarejestrowani Postów: 565 Pomógł: 15 Dołączył: 11.10.2010 Ostrzeżenie: (20%) ![]() ![]() |
Okej, pomajstrowałem i wygląda to tak:
Tylko dostaję błąd: Notice: Undefined property: DB::$username in ... (17 linia) Dlaczego? EDIT: Poradziłem sobie, łączy się z bazą ![]() Tylko pytanie: czy dobrze to jest napisane? co zmienić? Ten post edytował Dominator 8.05.2013, 20:11:49 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 103 Pomógł: 17 Dołączył: 15.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
Największy błąd to: połączyłeś się i co z tego skoro utraciłeś obiekt PDO, możesz to rozwiązać poprzez przypisanie do bazy pola protected lub wyrzucić obiekt BD na zewnątrz, na szybko:
Pomijam tutaj takie rzeczy jak PSR bo dopiero się uczysz, chociaż warto poczytać już za wczasu żeby wyrobić sobie nawyk ![]() //edit sorki za formatowanie Ten post edytował ssstrz 8.05.2013, 21:55:58 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 565 Pomógł: 15 Dołączył: 11.10.2010 Ostrzeżenie: (20%) ![]() ![]() |
Dostałem jakieś błędy, ale już je naprawiłem, dziękuję za pomoc!
Ten post edytował Dominator 9.05.2013, 13:11:38 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.07.2025 - 03:52 |