Magento uses Zend framework so the naming convention of classes follows what is used by Zend1. Classes are named depending on where they are in the folder structure similar to namespscing although when Magento was originally written PHP did not have namespacing. Class names have underscores instead of the directory separator which the Varien_Autoload class switches back to slashes when autoloading the classes.

The Varien_Autoload class is included in app/Mage.php. The register function is then called from the same file.

static public function register()
spl_autoload_register(array(self::instance(), 'autoload'));