Page 1 sur 1

la fonction __autoload()

Posté : 20 mars 2008, 11:53
par thewind1
Bonjour,

Pour éviter d'utiliser beaucoup de require et include, on utilise la fonction __autoload(), ok.

Je voudrais savoir comment sont sauvegardés l'association classe/fichier, est-ce dans un tableau associatif ?
Et où est placé la fonction __autoload() et comment faut-il l'appeler ?

Merci beaucoup pour l'information.

Posté : 20 mars 2008, 12:15
par Hywan
Bonjour,

en général on utilise __autoload() avec les conventions de nommage. Par exemple, ta classe appelée est : Projet_Controller_Front, alors on va chercher le fichier ./Projet/Controller/Front.php et charger la classe Projet_Controller_Front.

La méthode __autoload() se situe où tu veux. En général, dans un fichier de haut-niveau (inclue par tous les autres), genre bootstrap ou fichier de gestion d'un framework etc.

La méthode __autoload() est appelée automatiquement lorsque le système ne trouve pas la classe, i.e. qu'elle n'est pas chargée en mémoire (qu'elle n'a pas été inclue). On va dire qu'avant d'avoir une erreur comme quoi il n'a pas trouvé la classe, il va tenter d'appeler __autoload() juste avant, en dernier recours.

Un coup d'oeil dans le manuel pourrait être utile.

Posté : 20 mars 2008, 16:22
par thewind1
Merci HyWaN :D :D