| 
<?php
 require_once 'Autoloader.php';
 // true param for auto-registration in spl_autoload_register() function.
 $loader = new Autoloader(true);
 
 // Register a namespace
 $loader->registerNamespace('org\\example\\libraries', './org/example/libraries');
 new org\example\libraries\DatabaseLibrary();
 
 // Register a new file that has no namespace
 $loader->registerFile('NoNamespaceClass', 'org/NoNamespaceClass.php');
 new NoNamespaceClass();
 
 
 // Register an entire namespace
 $loader->registerNamespace('org', 'orgtests');
 // Now we can instantiate any of the test classes in org\... namespace
 new org\example\controllers\HomeControllerTest();
 new org\example\libraries\DatabaseLibraryTest();
 
 // We can register more locations or directories for one namespace
 $loader->registerNamespace('org', 'org');
 // now we can instantiate HomeController
 new org\example\controllers\HomeController();
 
 // Register a Class that has a diferent filename
 $loader->registerFile('SomeClassName', 'index.php');
 // Overwrite the last filename for "SomeClassName"
 $loader->registerFile('SomeClassName', 'otherClasses/DiferentFileNameAndClassName.php', true);
 new SomeClassName();
 
 // Register more than one class per filename
 $loader->registerFile('AnotherClass', 'otherClasses/DiferentFileNameAndClassName.php', true);
 $loader->registerFile('YetAnotherClass', 'otherClasses/DiferentFileNameAndClassName.php', true);
 // It will find it even if the file has not the same name as the class (you should NOT do this but...)
 new AnotherClass();
 new YetAnotherClass();
 
 
 |