* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace AppBundle\DataFixtures\ORM; use AppBundle\Entity\User; use Doctrine\Common\DataFixtures\FixtureInterface; use Doctrine\Common\Persistence\ObjectManager; use Symfony\Component\DependencyInjection\ContainerAwareInterface; use Symfony\Component\DependencyInjection\ContainerInterface; /** * Sample data to load in the database when running tests or for development * * @author Kevin Papst */ class LoadFixtures implements FixtureInterface, ContainerAwareInterface { /** @var ContainerInterface */ private $container; /** * {@inheritdoc} */ public function load(ObjectManager $manager) { $this->loadUsers($manager); //$this->loadPosts($manager); } private function loadUsers(ObjectManager $manager) { $passwordEncoder = $this->container->get('security.password_encoder'); $claraCustomer = new User(); $claraCustomer->setAlias('Clara Haynes'); $claraCustomer->setTitle('CFO'); $claraCustomer->setUsername('clara_customer'); $claraCustomer->setEmail('clara_customer@example.com'); $claraCustomer->setRoles(['ROLE_CUSTOMER']); $encodedPassword = $passwordEncoder->encodePassword($claraCustomer, 'kitten'); $claraCustomer->setPassword($encodedPassword); $manager->persist($claraCustomer); $johnUser = new User(); $johnUser->setAlias('John Doe'); $johnUser->setTitle('Lead Developer'); $johnUser->setUsername('john_user'); $johnUser->setEmail('john_user@example.com'); $johnUser->setRoles(['ROLE_USER']); $encodedPassword = $passwordEncoder->encodePassword($johnUser, 'kitten'); $johnUser->setPassword($encodedPassword); $manager->persist($johnUser); $tonyTeamlead = new User(); $tonyTeamlead->setAlias('Tony Maier'); $tonyTeamlead->setTitle('Head of Development'); $tonyTeamlead->setUsername('tony_teamlead'); $tonyTeamlead->setEmail('tony_teamlead@example.com'); $tonyTeamlead->setRoles(['ROLE_TEAMLEAD']); $encodedPassword = $passwordEncoder->encodePassword($tonyTeamlead, 'kitten'); $tonyTeamlead->setPassword($encodedPassword); $manager->persist($tonyTeamlead); $annaAdmin = new User(); $annaAdmin->setAlias('Anna Smith'); $annaAdmin->setTitle('Administrator'); $annaAdmin->setUsername('anna_admin'); $annaAdmin->setEmail('anna_admin@example.com'); $annaAdmin->setRoles(['ROLE_ADMIN']); $encodedPassword = $passwordEncoder->encodePassword($annaAdmin, 'kitten'); $annaAdmin->setPassword($encodedPassword); $manager->persist($annaAdmin); $manager->flush(); } /** * {@inheritdoc} */ public function setContainer(ContainerInterface $container = null) { $this->container = $container; } protected function getPostContent() { return <<getRandomPostTitle(); } private function getRandomPostTitle() { $titles = $this->getPhrases(); return $titles[array_rand($titles)]; } private function getRandomPostSummary($maxLength = 255) { $phrases = $this->getPhrases(); $numPhrases = mt_rand(6, 12); shuffle($phrases); return substr(implode(' ', array_slice($phrases, 0, $numPhrases-1)), 0, $maxLength); } private function getRandomCommentContent() { $phrases = $this->getPhrases(); $numPhrases = mt_rand(2, 15); shuffle($phrases); return implode(' ', array_slice($phrases, 0, $numPhrases-1)); } }