Wie kann man Funktionen überladen?

07.03.2007

In PHP ist das Überladen von Funktion wie in anderen Sprachen nicht möglich. Es gibt aber zwei Möglichkeiten PHP dazu zu überreden polymorph für den Entwickler, Nutzer einer Funktion zu agieren.

1.) die dynamische Typisierung von PHP ausnutzen und nur einen Parameter verwenden

2.) ein assoziatives Array verwenden, was eine variable Anordnung und eine beliebige/unterschiedliche Anzahl an Parametern ermöglicht. Alternativ können auch die Funktionen func_num_args und func_get_arg(s) verwendet werden. Allerdings muss dann die Reihenfolge bei der Übergabe berücksichtigt werden.

Das folgende Beispiel soll die Funktionsweise demonstrieren.

PHP - Code:
//1. Variante
function poly1($variable)
{
   if (is_string($variable)
   {
      echo "Es wurde ein String übergeben";
   }
   if (is_integer($variable)
   {
      echo "Es wurde ein Integer übergeben";
   }
}

Deine Meinung ist gefragt:


Es wurden noch keine Kommentare geposted.

Sei der Erste und teile uns Deine Meinung mit.

Einen neuen Kommentar erstellen...