Esempio n. 1
0
 static function establish_connection($options)
 {
     if ($options['adapter']) {
         $options['adapter'] = strtolower($options['adapter']);
         $adapter_file_name = ACTIVE_RECORD_BASE_PATH . "/connection_adapters/adapters/{$options['adapter']}_adapter.php";
         if (file_exists($adapter_file_name)) {
             require_once $adapter_file_name;
         } else {
             throw new Exception("Couldn't find an appropiate adapter for the database connection.");
         }
         // Look for a class named <Adapter>Adapter (i.e. MysqliAdapter)
         $adapter_class_name = ucfirst($options['adapter']) . 'Adapter';
         if (!class_exists($adapter_class_name)) {
             throw new Exception("Expected {$adapter_file_name} to define class {$adapter_class_name}.");
         }
         if (self::$connection = new $adapter_class_name($options)) {
             return true;
         }
     }
 }