我使用DB Facade。我看到它可以在Illuminate \ Database \ DatabaseManager的DB :: connection和Illuminate \ Database \ Connection的DB :: select中使用。
我不明白一个外观如何应用两个服务?
谢谢您的询问!
答案 0 :(得分:1)
一个Facade可以指向用于不同方法的多个类。这可以通过魔术方法__call来实现。
这是__call
类的DatabaseManager
方法:
/**
* Dynamically pass methods to the default connection.
*
* @param string $method
* @param array $parameters
* @return mixed
*/
public function __call($method, $parameters)
{
return $this->connection()->$method(...$parameters);
}
DB
外观指向DatabaseManager
类,如果找不到该方法,则DatabaseManager
然后将调用转发到Connection
类。