Bonjour,
Etant novice sur symfony, toute suggestion ou critique est la bienvenu.
J'ai veux créer un bundle de gestion de module qui comporte une entité "module" dans la base de donnée.
Je pense mettre dans la classe ModuleRepository la function permettant de savoir si le bundle est activer ou pas.
Le soucis c'est que je n'arrive pas à utiliser getDoctrine et je ne sais pas quelle classe appeler pour ca?
Autrement est-ce que je me trompe dans ma stratégie?
public function isEnable()
{
$repository = $this->getDoctrine()
->getManager()
->getRepository('ProjetGestionModuleBundle:Module');
$rowModule = $repository->findBy( array('label'=>'test'));
echo $rowModule;
}
Merci pour vos conseils
Oui tout à fait à la place de
echo $rowModule;
je mettrai
return $rowModule;
Ainsi dans le controller du module je mettrai par exemple
public function indexAction($name)
{
$module = new ModuleRepository();
if( !$module->isEnable() ) {
throw $this->createNotFoundException('Le module est inactif');
}
}
Le soucis c'est que getDoctrine ne fonctionne pas du tout dans la classe moduleRepository
Le soucis c'est que getDoctrine ne fonctionne pas du tout dans la classe moduleRepository
Forcément, c'est une méthode de controller.
Ce code ci :
$repository = $this->getDoctrine()
->getManager()
->getRepository('ProjetGestionModuleBundle:Module');
Est à mettre dans ton controller.
Celui-là à exclure :
$module = new ModuleRepository();
Tu instancie jamais de Repository, tu récupère ton repository par le bout de code précédent.
Ta fonction isEnable() renvoi-t-elle la valeur d'une propriété (persisté en BDD) de ton modèle Module?