composer require orm-fixtures --dev
===== Création d'une fixture =====
php bin/console make:fixtures
Donner un nom à la fixture (p.ex. **ArticlesFixtures**).
Une classe **ArticlesFixtures** est créée dans **src/DataFixtures**.
Modifier la méthode **load** de cette classe.
Par exemple :
setTitle("Titre de l'article n°$i")
->setContent("Contenu de l'article n°$i
")
->setImage("http://placehold.it/350x150")
->setCreatedAt(new \DateTime());
$manager->persist($article);
}
$manager->flush();
}
}
===== Exécuter les fixtures =====
php bin/console doctrine:fixtures:load
^Attention, tout le contenu de la base de données est supprimé avant la génération des données des fixtures.|
===== Fixtures aléatoires avec Faker =====
Installer le composant **faker** (uniquement dans l'environnement **dev**) :
composer require fzaninotto/faker --dev
Ensuite il suffit de l'utiliser dans le code de la fixture :
setNom($faker->name);
$personne->setAdresse($faker->streetAddress);
$personne->setVille($faker->city);
$personne->setCodePostal($faker->postcode);
$personne->setDescription($faker->text);
$personne->setEmail($faker->email);
$manager->persist($personne);
}
$manager->flush();
}
}
Voir [[https://github.com/fzaninotto/Faker|la doc de Faker]] pour toutes les possibilités.