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
  ]
]