Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][OOP] kilka pytan na temat klas
hermo767
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 12.04.2011

Ostrzeżenie: (0%)
-----


witam, jestem poczatkujacy w php i mam kilka pytan

1. jak juz robie jakas klase to mam robic, zeby byla uniwersalna, czy tak zeby mi sie na niej dobrze pracowalo?
taki przyklad: mam klase galerii, wymagane jest podlaczenie do bazy danych. baza danych to osobna klasa. i teraz moge zrobic tak, ze klase galeria wywoluje podajac dodatkowo jako parametry polaczenie z baza, ale rownie dobrze i wygodniej mi jest zrobic od razu polaczenie z baza w srodku tej klasy galeria, niz sie bawic w parametry.

2 w nawiazaniu do pierwszego. mam sobie klase galeria i w konstruktorze moge sobie tak po prostu zrobic $con = new database(); i korzystac z tego? dziala to dobrze, ale czy to jest poprawne, czy jednak powinienem to przekazywac w funkcji?

3. jesli pierwsza metoda, czy wlasciwie funkcja ma taka sama nazwe jak klasa to jest konstruktorem?

4. jesli w kontrolerze mam 2 funkcje to jest warto z tego robic klase, czy nie ma takiej potrzeby?


pozdrawiam i z gory dziekuje za odpowiedzi (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Mlodycompany
post
Post #2





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


1. Ja łącze się zawsze na początku skryptu. Eliminuje to kilkukrotne połączenie do bazy. Jeżeli byś z każdym wywołaniem metody z klasy łączył się z bazą no to troche by to obciążyło strone

2.Konstruktor to funkcja która jest wywoływana zawsze na początku przy wywołaniu klasy, czyli np.
  1. class test{
  2. public function __construct(){
  3. echo('konstruktor');
  4. }
  5. public function metoda(){
  6. echo('metoda');
  7. }
  8. }
  9.  
  10. $test = new test();
  11. $test->metoda();
  12. //wyświetli napis konstruktormetoda

a jakbyś z konstruktora zrobił normalną metodę to aby uzyskać taki sam efekt działania musiałbyś wywołać oby dwie metody, reasumując konstruktor to funkcja która jest automatycznie wywoływana przy wywołaniu klasy. Wydaję mi się, że dla Ciebie najlepszym rozwiązaniem będzie klasa abstrakcyjna do obsługi bazy danych. Poczytaj sobie o takich klasach

4(3). To pozostawie bez odpowiedzi
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 18:24