Example #1
0
File: DB.php Project: jasny/Q
 /**
  * Class constructor.
  *
  * @param object|resource $native
  * @param array           $settings  Settings used to create connection
  */
 public function __construct($native, $settings = array())
 {
     $this->native = $native;
     if (isset($settings)) {
         $this->settings = $settings;
     }
     $config = array_chunk_assoc($this->settings, 'config');
     $this->metadata = $config instanceof Config ? $config : Config::with($config, array('mapkey' => array('table_def' => "'#table'", 'field' => '@name', 'alias' => "'#alias:'.@name")));
     if (isset($settings['metadata-cache'])) {
         $this->metadataCache = $settings['metadata-cache'];
     }
     if (isset($settings['log']) && load_class('Q\\Log')) {
         $this->log = $settings['log'] instanceof Logger ? $settings['log'] : Log::with($settings['log']);
     } elseif (class_exists('Q\\Log') && Log::db()->exists()) {
         $this->log = Log::db();
     }
     if (isset($settings['log-columns'])) {
         $this->logColumns = is_string($settings['log-columns']) ? split_set(',', $settings['log-columns']) : (array) $settings['log-columns'];
     }
 }