<?php /** * @file include/autoloader.php */ /** * @brief composer-derived autoloader init **/ class FriendicaAutoloaderInit { private static $loader; public static function loadClassLoader($class) { if ('Composer\Autoload\ClassLoader' === $class) { require __DIR__ . '/autoloader/ClassLoader.php'; } } public static function getLoader() { if (null !== self::$loader) { return self::$loader; } spl_autoload_register(array('FriendicaAutoloaderInit', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(); spl_autoload_unregister(array('FriendicaAutoloaderInit', 'loadClassLoader')); // library $map = require __DIR__ . '/autoloader/autoload_namespaces.php'; foreach ($map as $namespace => $path) { $loader->set($namespace, $path); } $map = require __DIR__ . '/autoloader/autoload_psr4.php'; foreach ($map as $namespace => $path) { $loader->setPsr4($namespace, $path); } $classMap = require __DIR__ . '/autoloader/autoload_classmap.php'; if ($classMap) { $loader->addClassMap($classMap); } $loader->register(true); $includeFiles = require __DIR__ . '/autoloader/autoload_files.php'; foreach ($includeFiles as $fileIdentifier => $file) { friendicaRequire($fileIdentifier, $file); } return $loader; } } function friendicaRequire($fileIdentifier, $file) { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { require $file; $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; } } return FriendicaAutoloaderInit::getLoader();