PHP Classes

File: autoload.php

Recommend this page to a friend!
  Packages of Scott Arciszewski   Halite   autoload.php   Download  
File: autoload.php
Role: Auxiliary script
Content type: text/plain
Description: Auxiliary script
Class: Halite
Perform cryptography operations with libsodium
Author: By
Last change:
Date: 10 years ago
Size: 1,150 bytes
 

Contents

Class file image Download
<?php
if (\file_exists(__DIR__.'/vendor/autoload.php')) {
    require __DIR__.'/vendor/autoload.php';
} else {
    /**
     * You aren't using Composer, so, here's an autoloader instead.
     */
    spl_autoload_register(function ($class) {
        $prefix = 'ParagonIE\\Halite\\';
        $base_dir = __DIR__.'/src/';

        // 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) && \strpos(\realpath($file), $base_dir) === 0) {
            require $file;
        }
    });
}