Файл: contao-3.5.8/vendor/oyejorge/less.php/lib/Less/Autoloader.php
Строк: 34
<?php
/**
 * Autoloader
 *
 * @package Less
 * @subpackage autoload
 */
class Less_Autoloader {
    /**
     * Registered flag
     *
     * @var boolean
     */
    protected static $registered = false;
    /**
     * Library directory
     *
     * @var string
     */
    protected static $libDir;
    /**
     * Register the autoloader in the spl autoloader
     *
     * @return void
     * @throws Exception If there was an error in registration
     */
    public static function register(){
        if( self::$registered ){
            return;
        }
        self::$libDir = dirname(__FILE__);
        if(false === spl_autoload_register(array('Less_Autoloader', 'loadClass'))){
            throw new Exception('Unable to register Less_Autoloader::loadClass as an autoloading method.');
        }
        self::$registered = true;
    }
    /**
     * Unregisters the autoloader
     *
     * @return void
     */
    public static function unregister(){
        spl_autoload_unregister(array('Less_Autoloader', 'loadClass'));
        self::$registered = false;
    }
    /**
     * Loads the class
     *
     * @param string $className The class to load
     */
    public static function loadClass($className){
        // handle only package classes
        if(strpos($className, 'Less_') !== 0){
            return;
        }
        $className = substr($className,5);
        $fileName = self::$libDir . DIRECTORY_SEPARATOR . str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
        if(file_exists($fileName)){
            require $fileName;
            return true;
        }else{
            throw new Exception('file not loadable '.$fileName);
        }
    }
}