PHP5 udostępnia nam zestaw tzw. "metod magicznych", które niezmiernie ułatwiają pracę programićcie z obiektami. Są to normalne metody, które mają z góry nadane nazwy aby mogły być wywoływane automatycznie w określonych sytuacjach.
Do tej pory poznaliśmy dwie __construct() i __destruct(). Wywoływane są one w momencie tworzenia, jak i niszczenia obiektu. Część metod pozwala na dostęp do metod i właściwości, które nie zostały jawnie zdefiniowane. Inne na przykład definiują działania wykonywane, kiedy obiekt zostaje użyty jako ciąg znaków.
Tematem tego artykułu będzie "przepis" jak używać metod i właściwości statycznych w elementach klasy wymagających utworzenia jej instancji. Rozpatrzymy również przypadek odwrotny.
Jedną z głównych zalet stosowania programowania obiektowego jest, to że uzyskujemy możliwość podzielenia kodu na niezależne częścim które później można ponownie wykorzystać. Takich ówcześnie przygotowanych części kodu można używac wielokrotnie w różnych projektach.
W poprzednim artykule pisaliśmy klasę Zwierzak, wyobraźmy sobie, że teraz poprzebujemy dodatkowo kilka zwierząt, trochę bliżej opisanych, ze wspólnymi cechami. Nie bedziemy przecież kopiować tej klasy w nieskończoność dorabiając właściwości czy metody. Wprowadzi to nam sporo bałaganu z kod oraz może powodować olbrzymie problemy w przypadku, gdy popełniliśmy błąd w klasie Zwierzak, ponieważ będziemy musieli poprawiać ją w każdym miejscu gdzie skopiowolaliśmy kod klasy. pierwszą z metod, która nam może pomóc jest dziedziczenie (ang. inheritance).
Rozpoczynając pracę nad nowym projektem, jedną z pierwszych rzeczy jaką musimy się zająć, jest struktura naszego kodu. Niezależnie czy przygotowujemy tylko formularz kontaktowy czy jakiś bardzo rozbuodowany system zarządzania treścią, sposób organizacji kodu na pewno wpłynie na wydajność i prostotę obsługi końcowej aplikacji.