I use alice-bundle
and have some fixtures
AppBundle\Entity\Admin:
admin{1..3}:
username: admin<current()>
firstName: <firstName('male')>
lastName: <lastName()>
password: <encodePassword(@self, @self->username)>
In old version I create FixtureLoader
class extends from DataFixtureLoader
and just create public function encodePassword
for my custom faker, very simple I guess
use Hautelook\AliceBundle\Alice\DataFixtureLoader;
use Symfony\Component\Security\Core\User\UserInterface;
class FixtureLoader extends DataFixtureLoader
{
/**
* {@inheritDoc}
*/
protected function getFixtures()
{
$prefix = __DIR__ . '/../Fixture/';
return [
$prefix . 'admin.yml',
$prefix . 'city.yml',
$prefix . 'country.yml',
$prefix . 'location.yml',
$prefix . 'user.yml',
$prefix . 'voteSetting.yml',
$prefix . 'project.yml'
];
}
/**
* @param UserInterface $user
* @param $plainPassword
* @return string
*/
public function encodePassword(UserInterface $user, $plainPassword)
{
return $this->container->get('security.password_encoder')->encodePassword($user, $plainPassword);
}
}
But atm, when I install bundle I surprised, DataFixtureLoader
not found, I guess deprecated. And my question, how to create my custom faker ?