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-7.x/
includes/ database/ database.inc - Gets the driver-specific override class if any for the specified class.
- db_installer_object in drupal-7.x/
includes/ install.inc - Returns a database installer object.
File
- drupal-7.x/
includes/ database/ database.inc, line 1760 - 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;
}
}
}
}