![]() |
|
Écriture d'une extension
Les fichiers nécessaires
Une extension est composée d'au moins un répertoire contenant des fichiers de bibliothèque (declaration ou surcharge de classes, ...). Ce répertoire sera ici appelé lib/. Le reste est libre, dépendant des besoins de la cause. Il peut être utile, notamment, de prévoir un repertoire (nommé ici doc/) destiné à contenir les scripts auqels on accède directement via le web.
Le repertoire lib/ doit contenir les fichiers :
-
config.php3 : la configuration de votre module, écrite sous la même forme que dans le fichier de configuration maître de daCode. Attention toutefois à ne pas écraser les paramètres déjà définis dans le fichier de configuration maître ou d'autres extensions.
-
config.internals : ce que votre module doit configurer et qui doit être caché à l'utilisateur. En gros, les histoires de couple entre daCode et votre module. Dans ce fichier, on trouve entre autre la declaration des classes remplaçant les classes d'origine de daCode.
-
include.php3 : les fichiers à inclure. Les chemins doivent être sous la forme $libdir . $path . "nom_fichier_sans_l_extension." . $this->php. Attention au fait que le nom du fichier se termine bien par un point ($this->php contient l'extension -- php3, php, php4 -- sans le point). $libdir et $path sont des variables définies par daCode. Si vous les oubliez, daCode ne trouvera pas les fichiers, et ne fonctionnera pas du tout.
Surcharge des classes de daCode
Pour substituer une classe de votre extension à une classe de base de daCode, il faut indiquer dans $config->overloads que la classe de base est remplacée par votre classe. Prenez garde au fait que d'autres extensions peuvent utiliser ce paramètre, et que l'utilisateur peut aussi l'utiliser (en cas de confits avec phplib, entre autres).
Voici donc un exemple pour substituer la classe Test à la classe News de daCode (qui, à priori, devrait se trouver dans config.internals) :
$this->overloads["News"] = "Test"; |