<?php 
declare(strict_types=1); 
 
use ParagonIE\ConstantTime\Binary; 
 
/** 
 * Paragon Initiative Enterprises 
 * PSR-4 compatible autoloader 
 */ 
\spl_autoload_register(function ($class) { 
    // Project-specific namespace prefix 
    $prefix = 'Airship\\Hangar'; 
 
    // Base directory for the namespace prefix 
    $base_dir = __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 = Binary::safeSubstr($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( 
            ['\\', '_'], 
            DIRECTORY_SEPARATOR, 
            $relative_class 
        ).'.php'; 
 
    // If the file exists, require it 
    if (\file_exists($file)) { 
        require $file; 
    } 
}); 
 
 |