2017-02-27 11 views
1

나는 사용자 정의 faker와 함께 Symfony에서 조명기 로더 클래스를 만들었습니다.Alice Nelmio Bundle Fixtures 2.x의 커스텀 faker로 현재 변수 전달하기

이 사용자 지정 함수 중 하나는 비 임의 값에 따라 이름 배열에서 이름을 반환해야합니다.

user{1..10}: 
    name: someName<current()> 

나는 것을 : 나는 우리가 fixtures.yml 파일에서이 같은 일을 할 수있는 것처럼 앨리스 2.x를

와 개체의 컬렉션을 만드는 $ 현재의 변수로이 값을 싶습니다 과 같이 내 사용자 지정 기능에 전류 값을 전달하고자 :) (현재

내가 해봤
user{1..10}: 
    name: pickFromArray($current) 

$ 전류는,,,, ... 성공없이 을.

감사합니다.

답변

0

나는 그렇게 생각하지 않습니다. 내 의견으로는, 최선의 선택은 프로세서의 이름을 선택하다 : pickFromArray()이 프로세서의 방법이다

public function postProcess($object) 
{ 
    if (!$object instanceof User) { 
     return false; 
    } 

    $object->setName($this->pickFromArray($object)); 

    return true; 
} 

.

+0

감사 Guillaume! 나는 중복을 피하기 위해 임의의 함수를 사용하고 싶지 않은 순서를 신경 쓰지 않는다. 글로벌 정적 변수 또는 일종의 사용하여이 작업을 얻을 수있을 것 같아요. –

+0

좋습니다.이 경우 자신 만의 Faker Formatter를 만들어야합니다. https://knpuniversity.com/screencast/alice-fixtures/fixtures를 보면 원하는 데이터를 생성 할 수 있습니다. 또한 중복을 피하기 위해 yml 파일에'(unique)'키워드를 추가 할 수 있습니다 : https://github.com/nelmio/alice/blob/master/doc/complete-reference.md#handling-unique-constraints –

0

매개 변수로 반환 된 값 <current()>을 사용해야합니다. hautelook/AliceBundle에서 테스트되었습니다.

user{1..10}: 
    name: <pickFromArray(<current()>)>