7.19 Methodenpolymorphie einsetzen

Problem

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

Lösung

Methodenpolymorphie unterstützt PHP nicht als eingebaute Funktionalität. Sie lässt sich aber mithilfe verschiedener Funktionen zur Typprüfung emulieren. Die folgende kombinieren( )-Methode nutzt is_numeric( ), is_string( ), is_array( ) und is_bool( ):

// kombinieren() addiert Zahlen, verkettet Strings, verschmilzt Arrays // und verknüpft Boolesche Argumente mit einem bitweisen UND. function kombinieren($a, $b) { if (is_int($a) && is_int($b)) { return $a + $b; } if (is_float($a) && is_float($b)) { return $a + $b; } if (is_string($a) && is_string($b)) { return "$a$b"; ...

Get PHP 5 Kochbuch, Third Edition 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.