I think you’re confusing spl_autoload() with spl_autoload_register().

spl_autoload_register(), as you said, allows you to put multiple callbacks into autoloading stack.

spl_autoload() is a default autoloader, that gets registered when you call spl_autoload_register() with no arguments.

It has many advantages and one flaw. It is compiled into PHP core, so it’s fast. It automatically takes into account registered autoload extensions. It works well with namespaces (including aliased classes). But, unfortunately, it only looks into files which names are lowercased version of class name. For someone, who like Simon above comes from Java background, having to keep your (usually capitalised) classes in lowercased files is something akin to blasphemy.