Download the PHP package griiv/prestashop-module-installer without Composer
On this page you can find all versions of the php package griiv/prestashop-module-installer. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download griiv/prestashop-module-installer
More information about griiv/prestashop-module-installer
Files in griiv/prestashop-module-installer
Package prestashop-module-installer
Short Description Prestashop Module Installer
License MIT
Informations about the package prestashop-module-installer
PrestaShop Module Installer
Une bibliothèque PHP réutilisable qui fournit un framework d'installation standardisé pour les modules PrestaShop.
Table des matières
- Présentation
- Installation
- Architecture
- Utilisation
- Fonctionnalités
- API Reference
- Exemples
- Prérequis
- Licence
Présentation
Ce package abstrait la complexité de l'installation des modules PrestaShop en gérant automatiquement :
- Base de données : Création et suppression des schémas SQL avec support transactionnel
- Hooks : Enregistrement et désenregistrement des hooks PrestaShop
- Onglets admin : Création et suppression des entrées de menu dans le back-office
- Gestion des erreurs : Rollback automatique en cas d'échec
Patterns de conception utilisés
- Template Method :
InstallerAbstractdéfinit le squelette d'installation,GriivInstallerimplémente les étapes spécifiques - Injection de dépendances : L'instance du module est injectée via le constructeur
- Interface Segregation :
InstallerInterfacedéfinit un contrat clair - Facade : Point d'entrée unique (
install()/uninstall()) pour des processus multi-étapes complexes
Installation
Via Composer
Manuellement
Clonez le repository et incluez l'autoloader :
Architecture
Structure du projet
Diagramme des classes
Utilisation
1. Créer votre installeur de module
Dans votre module PrestaShop, créez une classe qui étend GriivInstaller ou utilisez-la directement :
2. Configurer votre module principal
3. Créer les fichiers SQL
Créez un dossier sql dans votre module avec les fichiers d'installation/désinstallation :
sql/install.sql
sql/uninstall.sql
Note : Les variables
{DB_PREFIX}et{MYSQL_ENGINE}sont automatiquement remplacées par les valeurs de configuration PrestaShop.
Fonctionnalités
Gestion de la base de données
Le système de gestion de base de données utilise des transactions pour garantir l'intégrité des données :
Méthodes utilitaires
Gestion des Hooks
Les hooks sont enregistrés automatiquement lors de l'installation si votre module implémente getHooks() :
Gestion des Onglets Admin
Créez des entrées de menu dans le back-office PrestaShop :
Options disponibles pour les onglets
| Option | Type | Description |
|---|---|---|
class_name |
string | Requis. Nom de la classe du contrôleur |
name |
string|array | Requis. Libellé du menu (multilingue possible) |
parent_class_name |
string | Classe parente pour la hiérarchie |
route_name |
string | Route Symfony (contrôleurs modernes) |
icon |
string | Nom de l'icône Material Icons |
visible |
bool | Visibilité du menu (défaut: true) |
wording |
string | Clé de traduction |
wording_domain |
string | Domaine de traduction |
API Reference
InstallerInterface
InstallerAbstract
| Méthode | Visibilité | Description |
|---|---|---|
install() |
public | Lance l'installation complète |
uninstall() |
public | Lance la désinstallation complète |
installModuleTab(array $tabInfo) |
public | Installe un onglet admin |
uninstallModuleTab(string $tabClass) |
public | Désinstalle un onglet admin |
installDatabase() |
protected abstract | Installe le schéma BD |
uninstallDatabase() |
protected abstract | Désinstalle le schéma BD |
registerHooks(array $hooks) |
protected abstract | Enregistre les hooks |
unregisterHooks(array $hooks) |
protected abstract | Désenregistre les hooks |
installTabs(array $tabs) |
protected abstract | Installe les onglets |
uninstallTabs(array $tabs) |
protected abstract | Désinstalle les onglets |
GriivInstaller
Hérite de InstallerAbstract et ajoute :
| Méthode | Description |
|---|---|
executeQuery(string $query) |
Exécute une requête SQL avec transaction |
executeQueries(array $queries) |
Exécute plusieurs requêtes atomiquement |
Exemples
Exemple complet d'un module
Exécution de requêtes personnalisées
Flux d'installation/désinstallation
Installation
Désinstallation
Prérequis
- PHP : >= 7.2
- PrestaShop : 1.7.7.0+
- Dépendances PrestaShop :
\Module- Classe de base des modules\Tab- Entité des onglets admin\Db- Singleton de base de donnéesPrestaShopBundle\Install\SqlLoader- Parser de fichiers SQLPrestaShopBundle\Entity\Repository\TabRepository- Repository des onglets
- Symfony Components :
Symfony\Component\Filesystem\Filesystem
Gestion des erreurs
Le package utilise une stratégie "tout ou rien" :
- Rollback transactionnel : En cas d'échec, les transactions BD sont automatiquement annulées
- Retours booléens : Toutes les méthodes retournent un booléen indiquant le succès/échec
- Exceptions :
installModuleTab()lance des exceptions pour les échecs critiques - Atomicité : L'installation/désinstallation réussit complètement ou échoue complètement
Licence
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
Auteur
Arnaud Scoté - [email protected]
Développé avec ❤️ par Griiv