base_directory = __DIR__ . '/'; spl_autoload_register([$this, 'autoload']); } /** * PSR-4 autoloader implementation * * @param string $class The fully-qualified class name */ public function autoload($class) { // Check if the class uses our namespace $len = strlen($this->namespace_prefix); if (strncmp($this->namespace_prefix, $class, $len) !== 0) { return; // Not our namespace, let other autoloaders handle it } // Get the relative class name $relative_class = substr($class, $len); // Replace namespace separators with directory separators $file = $this->base_directory . str_replace('\\', '/', $relative_class) . '.php'; // If the file exists, require it if (file_exists($file)) { require_once $file; } } /** * Register additional namespace mapping * * @param string $namespace_prefix The namespace prefix * @param string $base_directory The base directory for this namespace */ public function add_namespace($namespace_prefix, $base_directory) { // Normalize namespace prefix $namespace_prefix = trim($namespace_prefix, '\\') . '\\'; // Normalize base directory $base_directory = rtrim($base_directory, '/\\') . '/'; // Store the mapping (for future extension) $this->namespace_mappings[$namespace_prefix] = $base_directory; } } // Initialize the autoloader WPOAuth2Server_Autoloader::instance();