Bonjour,

Voila je rencontre un petit problème avec mon code.

<?php

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Request;
use Doctrine\ORM\EntityManagerInterface;
use App\Entity\Article;
use App\Form\ArticleType;
use App\Repository\ArticleRepository;
use Fake\Factory;

class BlogController extends AbstractController
{
/**

  • @Route("/", name="home")
    */
    public function home(){
    $form = Factory::create('Fr_fr');
    var_dump($form);
    return $this->render('blog/home.html.twig');
    }

    /**

  • @Route("/blog", name="blog")
    */
    public function index(ArticleRepository $repo)
    {
    $articles = $repo->findAll();
    return $this->render('blog/index.html.twig', [
    'controller_name' => 'BlogController',
    'articles' => $articles,
    ]);
    }

    /**

  • For create an article
  • @Route("/blog/new", name="blog_create")
  • @Route("/blog/{id}/edit", name="blog_edit")
    */
    public function form(Article $article = null, Request $request, EntityManagerInterface $manager){
    ($article) ? null : $article = new Article();

    // $form =$this->createFormBuilder($article)
    //             ->add('title')
    //             ->add('content')
    //             ->add('image')
    //             ->getForm();
    
    $form = $this->createForm(ArticleType::class, $article);    //Création de l'objet de formulaire
    
    $form->handleRequest($request); //Analyse de la requêtte et remplissage si besoin de l'article
    if($form->isSubmitted() && $form->isValid()){
        ($article->getId()) ? null : $article->setCreatedAt(new \DateTime());
        $manager->persist($article);
        $manager->flush();
        return $this->redirectToRoute('blog_show', ['id' => $article->getId()]);
    }
    
    return $this->render("blog/form.html.twig", [
        'formArticle' => $form->createView(),
        'editMode' => $article->getId() !== null
        ]);

    }

    /**

  • @Route("/blog/{id}", name="blog_show")
    */
    public function show(Article $article){
    return $this->render("blog/show.html.twig", [
    'article' => $article,
    ]);
    }
    }

Je voudrais utiliser un Faker pour générer des fixtures, mais le framework ne retrouve pas la librairie et renvoie le message suivant :


Did you forget a "use" statement for e.g. "Faker\Factory" or "Doctrine\Migrations\Version\Factory"? ```

je penses personnelement qu'il s'agit d'un problème de namespace mais je n'ai aucune idée de comment le resoudre.
Y'a t'il un moyen de me sortir de là?

Merci de votre aide ;)

Bonne journée !

2 réponses


youssef elgharib
Réponse acceptée

Il faut faire
use Faker\Factory;
n'est pas
use Fake\Factory;

Merci beaucoup, ça à résoulu mon problème! passe une bonne journée