fand ich diese seltsame switch-Anweisung in Laravel 5 core:Ist diese Switch-Anweisung kein Unsinn?
switch (count($args)) {
case 0:
return $instance->$method();
case 1:
return $instance->$method($args[0]);
case 2:
return $instance->$method($args[0], $args[1]);
case 3:
return $instance->$method($args[0], $args[1], $args[2]);
case 4:
return $instance->$method($args[0], $args[1], $args[2], $args[3]);
default:
return call_user_func_array([$instance, $method], $args);
Gibt es einen Grund, warum sie möglicherweise das eine solche Sache, anstatt nur mit bauen entschieden?
return call_user_func_array([$instance, $method], $args);
Irgendwelche Vorteile?
Vielleicht wurde dies aus einer Sprache übersetzt, die Funktion Überladung hat. Oder sie stellten fest, dass es in den häufigsten Fällen einen leichten Leistungszuwachs gab (vermutlich wo $ Args 4 oder weniger war). –
Nein das ist nicht Unsinn .. Sprache wie C++ unterstützt dies und seine Funktion Überladung genannt, ** Polymorphismus ** kann durch Überlastung –
@ NullPoiiteja erreicht werden Aber PHP hat keine Funktion überladen. –