学习ing2017-07-05 10:04:01
歸根結底是透過 魔術方法 __callStatic
實現的
IlluminateSupportFacadesFacade
程式碼最下方
https://github.com/illuminate...
/**
* Handle dynamic, static calls to the object.
*
* @param string $method
* @param array $args
* @return mixed
*
* @throws \RuntimeException
*/
public static function __callStatic($method, $args)
{
$instance = static::getFacadeRoot();
if (! $instance) {
throw new RuntimeException('A facade root has not been set.');
}
return $instance->$method(...$args);
}
關於 Facade
是 Lavavel
比較重要的特性之一,可以詳細了解下它的實現。