我使用alice-bundle
并有一些固定装置
AppBundle\Entity\Admin:
admin{1..3}:
username: admin<current()>
firstName: <firstName('male')>
lastName: <lastName()>
password: <encodePassword(@self, @self->username)>
在旧版本中,我创建FixtureLoader
类扩展DataFixtureLoader
并为我的自定义伪造者创建公共函数encodePassword
,我猜很简单
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);
}
}
但是 atm,当我安装 bundle 时,我很惊讶,DataFixtureLoader
没有找到,我猜不推荐使用。还有我的问题,如何创建我的自定义伪造者?