Punto 2)

definisci una cartella del tuo progetto come root per l'autoload. in questo caso, __DIR__.'/classi/'. Diciamo quindi che vuoi creare le seguenti Classi:

Cliente
Libro
Libro_autoload

crei in __DIR__.'/classi/' i seguenti file:

Cliente.php
Libro.php
Libro_autoload.php

e così il tuo autoload non dovrebbe avere problemi. Nel codice le userai così le classi:

Codice PHP:
include "autoload.php";

$cliente = new Cliente();
$libro = new Libro();
$libroAutoload = new Libro_autoload(); 
insomma basta che nome della classe e nome del file coincidano. Se poi vuoi fare uno step aggiuntivo e dividere le classi in namespace, ed avere ad esempio le classi:

\Alfoxx\Cliente
\Alfoxx\Libro

crei dentro la cartella di base la cartella Alfoxx, e dentro i file come sopra (ricordati che dovranno avere il namespace Alfoxx come prima dichiarazione). Detto questo modifichi l'autoload (così su due piedi) in qualcosa del tipo:

Codice PHP:

function __autoload($classi
{    
$filename =  __DIR__ '/classi/' str_replace("\\","/",$classi)  .  '.php'
   require_once 
$filename;

in maniera da fargli cercare il file __DIR__.'/classi/Alfoxx/Cliente.php' etc. Intanto che sperimenti questo, segui la risposta di Vam e provi ad usare composer seguendo il manuale di installazione online e cercando in giro esempi se non capisci bene.