Non so come intitolare esattamente questo. Mentre scavando nelle classi laravel 4 per vedere come Facciate lavoro, mi sono imbattuto in questo:PHP Laravel Facade __callStatic lista di argomenti
Illuminate\Support\Facades\[email protected]__callStatic
public static function __callStatic($method, $args)
{
$instance = static::getFacadeRoot();
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(array($instance, $method), $args);
}
}
Ora da quello che posso dire Questo metodo chiama qualsiasi metodo della classe dei riferimenti per facciate e passa gli argomenti insieme. Potrei sbagliarmi ma questa è la mia comprensione finora.
La parte che mi infastidisce è l'interruttore.
Perché i casi da 0 a 4 sono necessari quando il caso predefinito funziona indipendentemente.
Anche se il caso 0 ha senso se non ci sono argomenti, perché avere il caso 1-4 e non solo continuare per il caso 10 per esempio. C'è un argomento ragionevole per questo o è solo un caso di ottimizzazione prematura?