Die Mailer-Klasse ist dann auch außerhalb der Foo Klasse verfügbar,
So verstehen wir uns miss. Wenn Foo meine Klasse ist, gehts mir nur darum eine Foo-Instanz um die Mailfunktion zu erweitern.
Wobei die Mailfunktion in eine Datei ausgelagert gehört, damit sie auch von Instanzen anderer Klassen genutzt werden kann, nach demselben Mechanismus.
# in einer beliebigen Methode einer beliebigen Klasse
# haben wir die Instanz in $this
# und das soll möglich sein:
require_once "Mail.php";
$this->mail();
Mir ist klar, daß hier der Namespace erweitert werden muss. Aber was muss in Mail.php drinstehen? Wenn ich da function mail(){}
zu stehen habe, wird diese Funktion in den globalen Namespace geladen. Sie soll jedoch zum Namespace derjenigen Klasse gehören die für Foo die Basisklasse ist.
MFG
Klassenhierarchie
class main{}
class Foo extends main{}
$foo = new Foo;
require_once "Mail.php";
$foo->mail();