7.13 Polymorphe Methoden verwenden

Problem

Sie möchten in Abhängigkeit von der Anzahl und dem Typ der an eine Methode übergebenen Argumente unterschiedlichen Code ausführen.

Lösung

PHP unterstützt keine Methoden-Polymorphie als eingebaute Möglichkeit. Allerdings können Sie diese mit Hilfe verschiedener Funktionen zur Typüberprüfung emulieren. Die folgende Funktion combine( ) setzt is_numeric(), is_string(), is_array() und is_bool() ein:

// combine() kann Zahlen addieren, Strings verketten, // Arrays verschmelzen sowie bitorientierte und Boolesche Argumente // mit UND verknüpfen. function combine($a, $b) { if (is_numeric($a) && is_numeric($b)) { return $a + $b; } if (is_string($a) && is_string($b)) { return "$a$b"; } if (is_array($a) && is_array($b)) ...

Get PHP 5 Kochbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.