Modules - PA-Plasma/annual-project GitHub Wiki
Les controllers des modules doivent suivre cette logique
- nom : nomDuModuleModuleController
- namespace :
App\Controller\Modules\
- Il doit implémenter l'interface :
App\Controller\Interfaces\ModuleInterface
Les Modules sont représentés en base par une entité qui fait office de table de liaison entre un event et les paramètres du module.
- nom : ModuleNomDuModule
- namespace :
App\Entity\Modules\
- Il doit utiliser certains traits :
ActiveTrait
SoftDeletedTrait
TimeStampableTrait
Les repositories doivent aussi suivre une logique :
- nom : ModuleNomDuModuleRepository
- namespace :
App\Repository\Modules
FactoryModules
Permet de récupérer les modules utilisés par un event
S'appelle avec
App\Service\ModulesHelper::FactoryModule(Event $event, EntityManagerInterface $em)
Il récupère un tableau contenant les informations des modules activés sur l'event
$modules = [
0 => [
'moduleName' => $moduleName, //module name tel qu'il est enregistré dans la table Modules
'controller' => $controllerModule, //string qui contient le nom du controller
'entity' => $entity //entity || null
]
]