Section: Les répertoires de modules
« Les fichiers de configuration | ^ La configuration |
− Table des matières
Les modules sont regroupés dans un ou plusieurs répertoires que l'on appelle groupe de modules, ou aussi dépôt de modules.
Déclarer un dépôt de module ¶
Pour avoir accès aux modules, il faut déclarer ces dépôts de modules avec
jApp
ou dans le fichier composer.json si vous avez installé
Jelix avec Composer. (dans les versions 1.6 et inférieurs, c'était dans la
configuration, avec la propriété modulesPath).
Un exemple avec jApp
dans le script application.init.php
:
jApp::declareModulesDir(__DIR__.'/modules/');
On déclare ici un dépôt de modules : le répertoire modules/
de l'application.
Tous les modules se trouvant dans ce répertoire pourront être activés dans l'application.
Si vous avez installé Jelix avec Composer, vous avez une autre alternative : déclarer ces répertoires dans le fichier composer.json de l'application. Cette solution est fortement recommandée pour les paquets Composer fournissant des modules pour Jelix: vous déclarez alors les modules dans le fichier composer.json des paquets et seront automatiquement pris en compte.
{
...
"extra" : {
"jelix": {
"modules-dir" : [
"modules/",
]
}
}
}
Ici on déclare le répertoire modules/
qui est situé dans le même répertoire que
le composer.json
.
Notez que les répertoires de modules fournis avec le paquet Jelix sont automatiquement déclarés.
Déclarer un module seul ¶
Tout comme les dépots de modules, vous pouvez déclarer directement le répertoire de module
via jApp
ou dans le fichier composer.json de l'application ou celui du paquet composer
fournissant le module.
jApp::declareModule(__DIR__.'/mon_module/');
ou encore dans un fichier composer.json
:
{
...
"extra" : {
"jelix": {
"modules" : [
"mon_module/",
]
}
}
}
Une autre possibilité est de déclarer le chemin du module dans la configuration
de l'application. C'est fait dans la section modules
, avec le paramètre *.path
.
Par exemple :
[modules]
my_module.path = app:vendor/my_vendor_name/my_package/the_module
Cela facilite la migration depuis Jelix 1.6.x, et est utile pour déclarer un module tiers depuis un script de configuration.