Réponse acceptée !
Comment cette fonction fait?
Je ne peux pas être plus claire que la doc (lien que je t'ai donné plus haut d'ailleurs) :
Si vous devez utiliser plusieurs fonctions d'autochargement, la fonction spl_autoload_register() est faîte pour cela. Elle crée une file d'attente de fonctions d'autochargement, et les exécute les unes après les autres, dans l'ordre qu'elles ont été définies. A contrario, la fonction __autoload() ne peut être définie qu'une seule fois.
Dit simplement, spl_autoload_register() = __autoload() multiples
spl_autoload_register enregistre toutes les fonctions __autoload() en les empilants --> quand une classe est appelé il va utiliser spl_autolad_call pour exécuté les fonctions __autoload() définies.
Ca s'apparente effectivement, au parcours d'une arborescence.
Require_once() ou le combo class_exists()+require(), c'est au choix, pourvu que le require_once() soit bien utilisé.
En effet, le combo fait directement référence à la classe(ce qui nous intéresse) et non au fichier. Si dans un fichier du définie deux classes, il est probable que la classe à laquelle tu souhaites accéder ne soit pas accessible justement, puisque __autoload() appelle la classe nommé au fichier avec les paramètres prédéfinies('/Dossierclasses/CLASSNAME.php' ou pour d'autres : '/CLASSNAME.inc.php', etc etc), sauf si tu la définie implicitement bien sûre.
Comme je te l'ai dit dans l'autre post, ça semble être un problème HTML/CSS ou de formatage plutôt qu'un problème avec smarty.
Donc regarde ce que la fonction "decrypt" de ton captcha renvoi : éventuellement code html, etc...qui ferait "interférence", avec le code de ton template.
______________________________________________________________________