이 질문은 Symfony PHP 프레임 워크에 관한 것입니다.Symfony DateTimeToArrayTransformer는 양식 필드의 이름을 사용하여 하나의 값을 만드나요?
Symfony가 복합 형식 유형의 값을 단일 값으로 매핑하는 방법을 더 잘 이해하고 싶습니다.
DateType
양식 유형을 사용하고 월, 일 및 연도에 대해 별도의 필드를 사용하도록 구성하면 고유 한 필드 이름을 가진 별도의 양식 필드가 만들어집니다.
DateType
에도 데이터 변환기가 있습니다. 일반적으로 데이터 변환기는 데이터를 한 형식에서 다른 형식으로 변환합니다. 하지만 나에게 그것은 DateTimeToArrayTransformer
도 생성자에서 양식 필드 이름을 얻는 것 같습니다.
/**
* Constructor.
*
* @param string $inputTimezone The input timezone
* @param string $outputTimezone The output timezone
* @param array $fields The date fields <--- See this parameter.
* @param bool $pad Whether to use padding
*
* @throws UnexpectedTypeException if a timezone is not a string
*/
public function __construct($inputTimezone = null, $outputTimezone = null, array $fields = null, $pad = false)
{
//...
DateTimeToArrayTransformer on github
내가 fields
매개 변수에 대한 인터넷에 더 이상 정보를 찾을 수 있습니다
물론 Symfony는 하나의 문자열 값을 만들기 위해 month
, day
및 year
필드의 양식 필드 값을 수집해야합니다. 그러나 데이터 변압기를 사용하거나 다른 방식으로이 작업을 수행합니까?
그게 내가 알고 싶은 것입니다.
https : // github을 참조하십시오.('year', 'month', 'day')'는 실제 폼 필드 이름을 포함하고 있습니다. (예 : 위의 줄에서 빌더에 사용 된 필드 이름) 또는 다른 것입니까? 빌더에서 사용 된 이름을 참조합니까? – user2190492
음, 그렇습니다. 접두사가없는 양식 필드 이름입니다. 실제 html 인''에는 아마 어떤 형태의 접두어가 들어있을 것입니다. 그러나이 양식 유형과이 변환 도구가 함께 작동하도록 설계된 것입니다. 일반적으로 규칙이 아닙니다. –