mirror of
				https://github.com/billz/raspap-webgui.git
				synced 2025-03-01 10:31:47 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * PSR-4 compliant class autoloader
 | 
						|
 *
 | 
						|
 * @see https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader.md
 | 
						|
 * @link https://www.php.net/manual/en/function.spl-autoload-register.php
 | 
						|
 * @param string $class fully-qualified class name
 | 
						|
 * @return void
 | 
						|
 */
 | 
						|
spl_autoload_register(function ($class) {
 | 
						|
 | 
						|
    // project-specific namespace prefix
 | 
						|
    $prefix = '';
 | 
						|
 | 
						|
    // base directory for the namespace prefix
 | 
						|
    $base_dir = 'src/';
 | 
						|
 | 
						|
    // normalize the base directory with a trailing separator
 | 
						|
    $base_dir = rtrim($base_dir, DIRECTORY_SEPARATOR) . '/';
 | 
						|
 | 
						|
    // 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;
 | 
						|
    }
 | 
						|
});
 | 
						|
 |