Właśnie piszę swoją pierwszą stronę pod php5, klas też wcześniej nie używałem i mam kilka problemów na które jakoś nie umiem wygooglać odpowiedzi.

1. Czy przy dziedziczeniu klas, gdy tworzę obiekt klasy dziedziczącej uruchamiany jest konstruktor klasy dziedziczonej? Wczoraj znalazłem jakąś prezentację o php5 w które autor twierdził że nie. Natomiast u mnie na localhost'e wychodzi że tak. Możliwe że coś w kodzie skopałem i nie wiem czy szukać błędu czy innej koncepcji.
2. Wiem że klasa nie może dziedziczyć zmiennych i metod więcej niż jednej klasy? Ale czy może dziedziczyć klasę, która już dziedziczyła inną?
Ponieważ nie bardzo wiem jak się zabrać za stworzenie tego całego mechanizmu opartego na klasach, zacząłem podglądać i troszkę się wzorować na kodzie Open Power Board.
3. Mam klasę strony, gdzie konstruktor tworzy po jednym obiekcie używanych klas i metodę "start" która odpowiada za prztworzenie wszystkiego. Czy tworzenie takiej klasy strony wogóle ma sens, czy to tylko zbyteczne alokowanie pamięci i lepiej wywalić to z klasy i powiedzmy "zaincludować"?
Wcześniej stronę pisałem pod php4, nie ładnie używając zmiennych globalnych w metodach gdzie potrzebowałem danych innej klasy? Niedawno sobie ubzdurałem, że nie ma sensu pisać strony pod "czwórkę" i lawinowo posypały się problemy. Nie będę wklejał kodu, bo narazie chodzi o możliwe sposoby rozwiązania. Mniej więcej coś takiego mam w metodzie start klasy mojej strony:
- pobranie czasu - tu nie ma problemu, klasa nie potrzebuje innych i działa singleton;
- nowy obiekt mojej klasy bazy danych - próbuje nawiązać połączenie i wybrać bazę;
- nowy obiekt mechanizmu sesji - tu już mam problem bo klasa sesji używa metod klasy bazy danych;
- nowy obiekt klasy wybieracjącą stronę do załadowania - tu już duży problem, bo klasa korzysta z metod i zmiennych klasy sesji i klasy bazy danych;
- kolejne obiekty bazująze na powyższych klasach;
Nie wiem czy głupio rozwiązałem klasę bazy danych. Tworząc jej obiekt przekazuje do konstruktora dane (użytkownik, hasło itp.). Dwa dni temu jeszcze się wstrzymywałem z szukaniem pomocy na forum i eksperymentowałem z dziedziczeniem. Ale gdy klasa sesji dziedziczyła klasę bazy danych to ukazywał mi się błąd o braku parametrów w konstruktorze klasy bazy danych.
Teraz sam nie wiem czy szukać rozwiązania w interfejsach, czy jakoś próbować stworzyć drzewo klas, a to co mam w konstruktorze klasy bazy danych wywalić do metody, żeby się nie uruchamiało podczas tworzenia obiektu klasy dziedziczonej.
Z góry dziękuję za wszelką pomoc i sugestie.
