Objectifs

Maintenant que vous savez créer un module, vous avez surement envie de le partager avec d'autres et de fournir un package prêt à l'emplois !

Pour se faire, Copix intègre une nomenclature vous permettant de distribuer votre module avec ses scripts de base de données.

Répertoire nomDuModule/install/

Si vous placez un fichier nommé nomDuModule/install/scripts/install.xxx.sql, alors Copix exécutera ce dernier au moment de l'installation du module. Simple et efficace :-)

"xxx" corresponds au nom du driver que vous aurez configuré lors de l'installation de Copix. Par exemple, avec MySQL, le driver se nomme "pdo_mysql" et votre fichier sera donc nommé install.pdo_mysql.sql.

Note: Pour placer des scripts de suppression pour votre module, il vous suffit de placer un fichier nommé delete.xxx.sql dans ce même répertoire.

Vous pouvez egalement rajouter un script PHP. Pour cela, créer un fichier nomDuModule/install/scripts/nomDuModule.class.php

Celui ci doit contenir du code selon ce schéma :

class CopixModuleInstallerNomDuModule implements ICopixModuleInstaller {
	
	public function processInstall () {
	}
	
	public function processDelete () {
	}
	
	public function processUpdate () {
	}
}

La méthode processInstall() sera executée a l'installation du module La méthode processDelete() sera executée a la désinstallation du module TODO : update

Evénements liés à l'installation / désinstallation (Copix 3.0.2 minimum)

Plusieurs événements sont disponibles lors de l'installation / désinstallation de modules.

Voir aussi : Gestion d'événements, Récupérer un événement

beforeInstallModule

Cet événement est envoyé avant toute opération d'installation d'un module.

Paramètre passé :

  • moduleName : le nom du module

Retour du listener :

  • install : boolean, si indéfini ou true le module s'install, si false, le module ne s'installe pas et une CopixException avec le texte du paramètre message est générée.
  • message : message d'erreur en cas de retour avec install = false.

afterInstallModule

Cet événement est envoyé après l'installation complète d'un module, et après que le cache concernant les modules soit régénéré.

Paramètre passé :

  • moduleName : le nom du module

Retour du listener :

  • install : boolean, si indéfini ou true le module sera installé, si false, le module est désinstallé et une CopixException avec le texte du paramètre message est générée.
  • message : message d'erreur en cas de retour avec install = false.

beforeUninstallModule

Cet événement est envoyé avant toute opération de désinstallation d'un module.

Paramètre passé :

  • moduleName : le nom du module

Retour du listener :

  • uninstall : boolean, si indéfini ou true le module se désinstalle, si false, le module ne se désinstalle pas et une CopixException avec le texte du paramètre message est générée.
  • message : message d'erreur en cas de retour avec uninstall = false.

afterUninstallModule

Cet événement est envoyé après qu'un module soit désinstallé.

Paramètre passé :

  • moduleName : le nom du module