psr4-autoloader.php in Database Sanitize 7
Same filename and directory in other branches
PSR4 autoloader.
File
drush/tests/assets/psr4-autoloader.phpView source
<?php
/**
* @file
* PSR4 autoloader.
*/
/**
* Work around to load EdisonLabs/MergeYaml library on test site.
*
* @param string $class The fully-qualified class name.
* The class name.
*
* @return void
*/
spl_autoload_register(function ($class) {
// Project-specific namespace prefix.
$prefix = 'EdisonLabs\\MergeYaml\\';
// Base directory for the namespace prefix.
$base_dir = dirname(__DIR__, 2) . '/modules/database_sanitize/vendor/edisonlabs/merge-yaml/src/';
// Does the class use the namespace prefix?
$len = strlen($prefix);
if (strncmp($prefix, $class, $len) !== 0) {
// No, move to the next registered autoloader.
return;
}
// Get the relative class name.
$relative_class = substr($class, $len);
// Replace the namespace prefix with the base directory, replace namespace
// separators with directory separators in the relative class name, append
// with .php.
$file = $base_dir . str_replace('\\', '/', $relative_class) . '.php';
// If the file exists, require it.
if (file_exists($file)) {
require $file;
}
});