Zastanawiałem się ostatnio czy można w jakiś sposób w trakcie wykonywania programu poszerzyć metody klasy.
Przykładowo napisałem i korzystam z włąsnej, prostej klasy (mysql) do łączenia się z bazą mysql, wykorzystuje ona singleton. Teraz, tworzę obiekty innych klas (u mnie różne moduły) które mogą sobie w razie potrzeby korzystać z połączenia z baza mysql przez uzyskanie referencji do obiektu klasy mysql
<?php class mysql { // Singleton // przy tworzeniu automatyczne polaczenie z baza -> konstruktor } { //Cokolwiek } ?>
Jednak zastanawiałem się czy możliwe było by dziedziczenie od klasy mysql tak aby ją poszerzyć a jednocześnie nie tworzyć dodatkowego obiektu? W teorii oczywiście nie ma takiej opcji bo mamy nową klasę czyli utworzenie jej obiektu powinno spowodować utworzenie nowego obiektu klasy która dziedziczyła - czyli nowego obiektu klasy mysql_plus, a tego nie chcę poza tym załóżmy że nieznam danych potrzebnych do zrealizowania kolejnego połączenie z baza MySQL
W takim razie czy można zastosować jakiś wybieg z poszerzaniem metod (i właściwości) istniejącego już obiektu danej klasy ?