function Database::loadDriverFile

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 includes/database/database.inc
Gets the driver-specific override class if any for the specified class.
db_installer_object in includes/install.inc
Returns a database installer object.

File

includes/database/database.inc, line 1869

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;
            }
        }
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.