It is possible to replace block of if( .. instanceof ...), elseif(... instanceof ...), ...  with switch?
For example:
<?php $class = ..... //some class  if($class instanceof SomeClass) {     //do something } elseif($class instanceof SomeAnotherClass) {     //do something else } 
                For a polymorphic switch with instanceof which considers inheritance:
switch(true) {       case $objectToTest instanceof TreeRequest:         echo "tree request";         break;     case $objectToTest instanceof GroundRequest:         echo "ground request";         break; }  For a switch where the class name should match exactly:
$class = get_class($objectToTest);  switch($class) {       case 'TreeRequest':         echo "tree request";         break;     case 'GroundRequest':         echo "ground request";         break; } 
                        The following is more correct:
$class = get_class($objectToTest);  switch($class) {       case TreeRequest::class:         echo "tree request";         break;     case GroundRequest::class:         echo "ground request";         break; }   This way namespaces are properly compared (you don't have to type them out) and if anything changes such as the namespace or class name you'll get a decent IDE error informing you that your code is broken.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With