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.