Один фасад может указывать на несколько классов для разных методов.Это возможно с помощью магического метода __ 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
.