![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 5.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Chciałbym napisać klasę User, która będzie obsługiwała użytkowników, m.in logowanie, wylogowanie, itd. Mam do rozwiązania kilka kwestii.
Chcę ją napisać wykorzystując MySQLi. Ważne żeby klasa działała szybko i była łatwa do późniejszej modyfikacji. Po to korzystam z OOP. Jak najlepiej rozwiązać sprawę łączenia się z bazą?. Czy dobrze będzie tworzyć połączenie z bazą w konstruktorze, a ustawienia bazy byłby przechowywane w polu $config, czy może utworzyć metodę, która będzie tworzyć połączenie z bazą? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 675 Pomógł: 286 Dołączył: 15.06.2009 Skąd: Wieliczka Ostrzeżenie: (0%) ![]() ![]() |
Ważne żeby klasa działała szybko (...) Po to korzystam z OOP. nie wiem, czy wiesz, ale OOP jest wolniejsze od kodu strukturalnego (IMG:style_emoticons/default/winksmiley.jpg) co do pytania: IMO lepszym rozwiązaniem jest łączenie się w konstruktorze, tak w ogóle jak już porywasz się na robienie klasy do obsługi użytkowników to mógłbyś skorzystać z jakiegoś rozszerzenia typu ADOdb, wtedy wyglądałoby to o wiele lepiej (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Możesz przechowywać obiekt reprezentujący bazę danych bezpośrednio w polu użytkownika lub przekazać instancję obiektu bazy użytkownikowi, np. w konstruktorze. Z projektowego punktu widzenia metoda connect() w klasie użytkownika tak średnio wygląda, chyba, że uczynisz ją chronioną (protected).
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 5.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za odp. Spróbuję rozwiązać to tak. Stworzę pole $db, następnie konstruktor będzie tworzył obiekt i przypisywał go do pola $db.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 22:09 |