Wersja na szybko:
<?php
abstract class Glowna implements funkcyjna1{}
class Dodatkowa extends Main{}
class Funkcje1 implements funkcyjna1{}
?>
Interfejs funkcyjna zawiera wrappery na metody klas Funkcje1 i Funkcje2, które implementujesz w klasie klasie Main (albo w Dodatkowa1).
Wada - ciężko rozbudowywać - trzeba pilnować implementacji wrapperów. Jeśli jednak ilość klas jest sztywna, to wystarczy.
Wersja numer 2
Implementuj metodę __call() klasy Glowna, aby chybionych nazw metod szukała w innych obiektach i je wywoływała - elastyczne i proste ;]
Wada - nazwy metod powinny być unikalne, bo inaczej będą wałki.
Pozdrawiam.