larave 專案中靜態呼叫
#facade
Admin類別中的title方法是非靜態的
這個是如何實現的?
人生最曼妙的风景,竟是内心的淡定与从容!
歸根結底是透過 魔術方法 __callStatic 實現的
魔術方法 __callStatic
IlluminateSupportFacadesFacade 程式碼最下方
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 比較重要的特性之一,可以詳細了解下它的實現。
Facade
Lavavel
歸根結底是透過
魔術方法 __callStatic
實現的IlluminateSupportFacadesFacade
程式碼最下方https://github.com/illuminate...
關於
Facade
是Lavavel
比較重要的特性之一,可以詳細了解下它的實現。