Алиса расслоение создать кастом фейкер

shuba.ivan спросил: 13 октября 2017 в 06:46 в: symfony

Я использую 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);
}
}

Но, когда я устанавливаю пакет, я удивляюсь, DataFixtureLoader не найден, я думаю, что устарел. И мой вопрос, как создать мой пользовательский фейкер?


0 ответов