Problème à la fin de la partie 2/16 de la formation Symfony

Default
,

Bonjour,
Je suis assez novice en développement.
J'essaye de suivre le début de la formation Symfony et à la fin de la seconde vidéo, j'ai un message d'erreur :
Symfony\Component\DependencyInjection\Exception\ RuntimeException
\vendor\symfony\dependency-injection\Compiler\AbstractRecursivePass.php (line 160)
La ligne 160 :
throw new RuntimeException(sprintf('Invalid service "%s": class%s has no constructor.', $this->currentId, sprintf($class !== $this->currentId ? ' "%s"' : '', $class)));
En fait c'est après avoir utilisé les routes avec Annotations apparemment.
Quelqu'un aurait-il la solution ?

4 Réponse

152061
,

Salut
As-tu fais un composer update ? ou install ?

Default
,

Bonjour,

De façon à pouvoir avancer dans la formation, j'ai fais les routes sans passer par les annotations mais directement dans le fichier routes.yaml

Plus loin à 25 minutes dans la 3ème vidéo, quand j'ajoute la partie ObjectManager :
/**
* PropertyController constructor.
* @param Environment $twig
* @param PropertyRepository $repository
* @param ObjectManager $em
*/
public function __construct(Environment $twig, PropertyRepository $repository, ObjectManager $em)
{
$this->twig = $twig;
$this->repository = $repository;
$this->em = $em;
}

Qui est utilisé ici :
/**
* @return Response
*/
public function index(): Response
{
$property = $this->repository->findAllVisible();
$property[0]->setsold(true);
$this->em->flush();
return $this->render('property/index.html.twig', [
'current_menu' => 'properties'
]);
}

j'ai un message d'erreur.
J'ai essayé "composer update" et j'ai ce message d'erreur :
Executing script cache:clear [KO]
[KO]
Script cache:clear returned with error code 1
!! In DefinitionErrorExceptionPass.php line 54:
!! Cannot autowire service "App\Controller\PropertyController": argument "$em" of method "__construct()" references in
!! terface "Doctrine\Persistence\ObjectManager" but no such service exists. You should maybe alias this interface to t
!! he existing "doctrine.orm.default_entity_manager" service.

Script @auto-scripts was called via post-update-cmd

Default
,

essaie de supprimer manuellement le cache puis tu fait un update.

Default
,

Bonjour,

Cela ne change rien :(