/** * Executes query and returns QueryResult object * @param DatabaseManager $databaseManager (if false static::$databaseManager is in use) * @throws Exception * @return QueryResult */ public function exec($databaseManager = false) { if ($databaseManager && method_exists($databaseManager, 'query')) { return $databaseManager->query($this->queryString); } if (static::$databaseManager && method_exists(static::$databaseManager, 'query')) { return static::$databaseManager->query($this->queryString); } throw new Exception('QueryBuilder: no database manager'); }
public function init() { // подключаем конфигурацию $this->config = (require MUSHROOM_DIR_APP_CONFIG . '/config.php'); // настраиваем алиасы классов foreach ($this->config['classAliases'] as $serviceName => $className) { class_alias($className, $serviceName); } // подключаем СУБД Event::trigger('onBeforeDatabaseInit', $app); if ($this->config['database'] && $this->config['database']['type']) { $this->database = DatabaseManager::get($this->config['database']); QueryBuilder::setup($this->database); // QueryBuilder::setDatabaseType($this->config['database']['type']); // QueryBuilder::setEncoding($this->database->getEncoding(), $this->database->getCollate()); // QueryBuilder::setDatabaseManager($this->database); } Event::trigger('onAfterDatabaseInit', $app); }