2017-11-06 4 views
0
내가 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, 번들을 설치할 때 나는 놀라지 만 DataFixtureLoader을 찾지 못했습니다. 그리고 내 질문, 내 사용자 정의 faker를 만드는 방법?

+0

에서 확장, 난 그냥 간단하게하는 경향이, 고정 소금 및 암호 (심지어는 단지 문자 그대로'password'). –

+0

사용자 이름과 같은 비밀번호가 필요합니다. –

답변

0

U가 "hautelook/alice-bundle": "^1.3.1" 고소 및 시험 설비의 사용자 암호를 들어 추상 클래스

use Hautelook\AliceBundle\Doctrine\DataFixtures\AbstractLoader; 
use Nelmio\Alice\Fixtures; 
use Symfony\Component\Security\Core\User\UserInterface; 

class FixtureLoader extends AbstractLoader 
{ 
/** 
* {@inheritdoc} 
*/ 
public function getFixtures() 
{ 
    return [ 
     __DIR__.'/../Fixtures/admin.yml', 
    ]; 
} 

/** 
* @param UserInterface $user 
* @param $plainPassword 
* 
* @return string 
*/ 
public function encodePassword(UserInterface $user, $plainPassword) 
{ 
    return $this->container->get('security.password_encoder')->encodePassword($user, $plainPassword); 
}