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