Créer un module

Mise en place du ModuleSetup


Le ModuleSetup vous permet de personnaliser l'installation, les mises à jour ou la désinstallation de votre module.

Le fonctionnement



Il faut créer un fichier LeNomDeVotreModuleSetup.class.php qui contiendra une classe du même nom.

Cette classe est une classe fille de DefaultModuleSetup et devra contenir une fonction install() et uninstall().

Pour plus de clarté dans votre module, créez un dossier phpboost à sa racine et placez-y votre classe.

Exemple :

Code PHP :
<?php
class MonModuleSetup extends DefaultModuleSetup
{
    public function install()
    {
 
    }
    public function uninstall()
    {
 
    }
}
?>


A chaque installation et à chaque désinstallation ce fichier sera appelé. C'est donc à l'intérieur des deux fonctions que vous allez exécuter les différentes tâches que vous souhaitez faire. Créer des tables, les supprimer, etc.


La mise à jour d'un module



Vous allez également pouvoir faire les mises à jour de votre module à travers ce fichier en ajoutant une fonction upgrade() :

Code PHP :
 
public function upgrade($installed_version)
{
    return null;
}


De cette manière, l'utilisateur qui mettra à jour le module à travers l'administration ne perdra pas ses données en cas de changement au niveau des tables ou autres. C'est maintenant à vous de procéder à la conversion des différents éléments.

L'argument passé en paramètre renvoie le numéro de version installée sur le serveur de l'utilisateur. En valeur de retour, il faudra renvoyer le nouveau numéro de version. Si la fonction ne retourne rien ou est nulle alors la page de mise à jour renverra une erreur à l'utilisateur.

Exemple 1 : Mise à jour de la version du module.
Code PHP :
public function upgrade($installed_version)
    }
        return '5.1.0';
    }


Exemple 2 : Mise à jour de la version du module et suppression d'un fichier.
Code PHP :
    public function upgrade($installed_version)
    {
        $file = new File(Url::to_rel('/nommodule/controllers/NommoduleController.class.php'));
        $file->delete();
 
        return '5.1.0';
    }  


La méthode upgrade () vous permet donc de mettre à jour votre version de module ainsi que d'effectuer toutes vos modifications au niveau des fichiers ou de votre base de données. Il suffit de placer l'ensemble de vos fonctions à l'intérieur de la méthode.
Cette page a été vue 3957 fois