public function __construct(Connection $conn, BaseBuilder $builder = null, Logger $logger = null) { $this->conn = $conn; $this->queryDriver = $conn->createQueryDriver(); if (!$builder) { $builder = SqlBuilder::create($this->queryDriver); } $this->builder = $builder; if (!$logger) { $c = ServiceContainer::getInstance(); $logger ?: $c['logger']; } $this->logger = $logger; }