Osobna klasa do obsługi MYSQL - jak przechowywać obiekt?

0

Siema,
piszę stronkę do obsługi przychodni lekarskiej, gdzie rekordy pacejntów przechowywane są w bazie danych. Pierwszy raz obcuję z PHP, mam wcześniejsze doświadczenia z programowaniem obiektowym, więc oczywistym rozwiązaniem wydawało mi się stworzenie osobnej klasy do obsługi bazy danych. Czy jest to rozsądne rozwiązanie? Jeśli tak, to czy za każdym razem powinienem tworzyć nowy obiekt danej klasy(np. w "register.php", "delete.php" itd), czy lepiej stworzyć jeden obiekt, w 'index.php' i po prostu jakoś go przekazywać? Dodatkowo, czy najlepiej się połączyć z bazą w konstruktorze, a rozłączać w destruktorze, czy też może lepiej w każdej metodzie się łączyć, używać jakichś query i od razu rozłączać?
Jeśli to rozwiązanie jest z gruntu złe, zaproponujcie jakieś inne, wolę od początku zmagania się z php nabrać dobrych nawyków, zamiast robić rzeczy byle jak.
dzięki. :)

0

Takie klasy już istnieją korzystanie z nich jest zalecane.

Jeśli chodzi o łączenie to łączysz się na początku pliku index.php, a rozłączasz na końcu. PHP działa tak, że cały skrypt wykonuje się jednokrotnie po tym jak serwer dostanie żądanie. Dlatego właśnie system sesji. Wchodzisz na inną stronę - cały skrypt leci od początku.
Jeśli nie korzystasz z bazy na wszystkich stronach to możesz ustawić jakąś zmienną globalną DB_Connected i łączyć się z bazą tylko przy pierwszym zapytaniu. Tylko to ma niewielki sens jeśli baza jest na localhoście, bo łączy się błyskawicznie.

Jeszcze co do samego PHP - lepiej jest zrobić dużo małych plików, niż jeden wielki. Parser odetchnie troszeczke :)

0

Dzięki za odpowiedź:)
No dobra, ale skoro robię klasę, to muszę stworzyć jej obiekt. Więc ten obiekt najlepiej machnąć w index.php? Jeśli tak, to jak go później przekazać do innych okien, wrzucić go w $_SESSION?

0

Klasy do zarządzania bazą są w standardzie php.

Jeśli chodzi o łączenie to łączysz się na początku pliku index.php, a rozłączasz na końcu.[...]Jeśli nie korzystasz z bazy na wszystkich stronach to możesz ustawić jakąś zmienną globalną DB_Connected i łączyć się z bazą tylko przy pierwszym zapytaniu. Tylko to ma niewielki sens jeśli baza jest na localhoście, bo łączy się błyskawicznie.

Istniejące klasy łączą się w konstruktorze i rozłączają w destruktorze.

  1. W php istnieje coś takiego jak tabliza zmiennych superglobalnych $_GLOBAL.
0

Dziękówa;)

0

No i taka rada:
Użyj PDO, Luke :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1