Tonic


src/Tonic/Autoloader.php


<?php
 
namespace Tonic;
 
/**
 * Autoload
 */
class Autoloader
{
    /**
     * Handles autoloading of classes
     * @param string $className Name of the class to load
     */
    public static function autoload($className)
    {
        if ('Tonic\\' === substr($className, 0, strlen('Tonic\\'))) {
            $fileName = dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR;
            $namespace = '';
            if (false !== ($lastNsPos = strripos($className, '\\'))) {
                $namespace = substr($className, 0, $lastNsPos);
                $className = substr($className, $lastNsPos + 1);
                $fileName .= str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
            }
            $fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
            require $fileName;
        }
    }
 
}
 
ini_set('unserialize_callback_func', 'spl_autoload_call');
spl_autoload_register(array(new Autoloader, 'autoload'));
 

Tonic