pl: Wie strukturiertes landen von Klassen in Index.php?

Beitrag lesen

Als Methoden werden Funktionen bezeichnet, die einer Klasse zugeordnet sind. Eine Klasse kann in PHP keine zwei Methoden mit demselben Namen haben.

In Perl auch nicht. Namespaces werden jedoch dann interessant, wenn es um ausgelagerte Methoden geht: Bei denen soll es ja möglich sein, dass die von Instanzen verschiedener Subklassen aufgerufen werden dürfen. Somit wird auch das Mocken ermöglicht, Srichwort Qualitätssicherung.

Beispiel, $foo, $bar sind Instanzen verschiedner Klassen und rufen jeweils eine Methode dumper():

$foo->dumper();
$bar->dumper();

Methode dumper() kompiliert eine Klasse Dumper. So ergeben sich für den kompilierten CODE dieser Klasse Dumper und auch den CODE der Methoden 2 verschiedene Namespaces, das zeigen die Symboltabellen.

PS: Auch in PHP gibt es eine Möglichkeit, Methoden aus beliebigen Quellen (z.B. Dateisystem) zu laden, wenn sie im eigenen Namespace nicht gefunden werden.