public static function Database::loadDriverFile

7.x database.inc public static Database::loadDriverFile($driver, array $files = array())

Load a file for the database that might hold a class.

Parameters

$driver: The name of the driver.

array $files: The name of the files the driver specific class can be.

2 calls to Database::loadDriverFile()
DatabaseConnection::getDriverClass in drupal/includes/database/database.inc
Gets the driver-specific override class if any for the specified class.
db_installer_object in drupal/includes/install.inc
Returns a database installer object.

File

drupal/includes/database/database.inc, line 1795
Core systems for the database layer.

Class

Database
Primary front-controller for the database system.

Code

public static function loadDriverFile($driver, array $files = array()) {
  static $base_path;

  if (empty($base_path)) {
    $base_path = dirname(realpath(__FILE__));
  }

  $driver_base_path = "$base_path/$driver";
  foreach ($files as $file) {
    // Load the base file first so that classes extending base classes will
    // have the base class loaded.
    foreach (array("$base_path/$file", "$driver_base_path/$file") as $filename) {
      // The OS caches file_exists() and PHP caches require_once(), so
      // we'll let both of those take care of performance here.
      if (file_exists($filename)) {
        require_once $filename;
      }
    }
  }
}