Files
wp-multisite-waas/dependencies/berlindb/core/autoloader.php
2024-11-30 18:24:12 -07:00

45 lines
1.2 KiB
PHP

<?php
namespace WP_Ultimo\Dependencies;
/**
* Autoloader.
*
* @package Database
* @copyright Copyright (c) 2021
* @license https://opensource.org/licenses/MIT MIT
* @since 2.0.0
*/
// Exit if accessed directly.
\defined('ABSPATH') || exit;
// Register a closure to autoload BerlinDB.
\spl_autoload_register(
/**
* Closure of the autoloader.
*
* @param string $class_name The fully-qualified class name.
* @return void
*/
static function ($class_name = '') {
// Project namespace & length.
$project_namespace = 'BerlinDB\\Database\\';
$length = \strlen($project_namespace);
// Bail if class is not in this namespace.
if (0 !== \strncmp($project_namespace, $class_name, $length)) {
return;
}
// Setup file parts.
$format = '%1$s/src/%2$s.php';
$path = __DIR__;
$name = \str_replace('\\', '/', \substr($class_name, $length));
// Parse class and namespace to file.
$file = \sprintf($format, $path, $name);
// Bail if file does not exist.
if (!\is_file($file)) {
return;
}
// Require the file.
require_once $file;
}
);