Voici un exemple de l'utilisation de __autoload, qui va grandement simplifier la construction de mes formulaires HTML_QuickForm.

Auto-chargement de classes

De nombreux développeurs qui créent des applications orientées objet, créent un fichier source par définition de classe.
L'inconvénient majeur de cette méthode est d'avoir à écrire une longue liste d'inclusions de fichier classes au début de chaque script : une inclusion par classe. plus d'info ici.

Exemple :

Ici l'autoload permet de s'épargner les require de chaque élément.
De plus, cela permet d'eviter la méthode du addElement('nomElement'...) qui n'est pas génial lors du developpement, car chaque élément possède ses attributs, et cela va vite de se mélanger les pédales entre un label ou nom.
Alors qu'avec le constructeur de l'élément, et grâce à mon ami Zend, je retrouve mes petits !

// --- define a placer dans un globalConf par exemple
define('LIB_PEAR', '/var/www/foo/libs/pear/');
 
function __autoload($S_classename) {
	$S_file	= LIB_PEAR.str_replace('_', DIRECTORY_SEPARATOR, $S_classename).'.php';
	if (file_exists($S_file)) {
		require_once $S_file;
		
	}
	
}
 
 
class myForm extends HTML_QuickForm{
	
	public function __construct() {
		// --- Appel du constrcteur de QuickForm
		parent::HTML_QuickForm('monForm', 'post', $_SERVER['PHP_SELF'], '_self', null, true);
		
		// --- Ajout des elements QuickForm
		$this->addElement(new HTML_QuickForm_header('toto', 'tada'));
		$this->addElement(new HTML_QuickForm_text('truc', 'tagada'));
		//...
		$this->addElement(new HTML_QuickForm_hierselect('...'));
	}
}