<?php 
 
// Register Autoload Classes 
 
define( 'BASE_DIR', dirname( __DIR__ ) ); 
 
// echo BASE_DIR; 
 
function loaderFunc( $class_name ) 
{ 
    $parts = explode( '\\', $class_name ); 
     
    // class filename ==> file.php | my_file.php 
    $file_basename = lcfirst( array_pop( $parts ) ) . '.php'; 
 
    // convert Camelcase to underscores 
    $file_basename = preg_replace_callback( '/[A-Z]/', 
        function( $letter ){  
            return '_'.strtolower( $letter[0] ); 
        }, 
        $file_basename ); 
 
    // convert capital to small letters 
    foreach( $parts as &$part ) 
        $part = strtolower( $part ); 
 
    $file_path = BASE_DIR . DIRECTORY_SEPARATOR . implode( DIRECTORY_SEPARATOR, $parts ) . 
            DIRECTORY_SEPARATOR . $file_basename; 
 
    // require file if existed 
    if( file_exists( $file_path ) ) require_once( $file_path ); 
 
    // print_r( $file ); 
} 
 
spl_autoload_register( 'loaderFunc' ); 
 
 |