不知道如何正確標題。雖然挖到Laravel 4班怎麼看外牆工作,我偶然發現了這一點:PHP Laravel Facade __callStatic參數列表
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);
}
}
現在從我可以告訴這個方法調用任何類的既定方法門面引用,並一起傳遞的參數。我可能是錯的,但這是我迄今爲止的理解。
真正讓我感到困惑的部分是開關。
爲什麼情況0到4需要默認情況下工作不管。
即使case 0類型在沒有參數的情況下有意義,爲什麼會有case 1-4,而不僅僅是case 10的例子。有沒有合理的論點呢,還是僅僅是一個過早優化的案例?