O'Reilly logo

PHP 5 Kochbuch, Third Edition by Stephan Schmidt, Ulrich Speidel, Matthias Brusdeylins, Carsten Lucke, Adam Trachtenberg, David Sklar

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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"; ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required