|
45 | 45 |
|
46 | 46 | class FieldType |
47 | 47 | { |
48 | | - public static function get($field): string |
| 48 | + public static function get(array $field): string |
49 | 49 | { |
50 | | - switch ($field['type']) { |
51 | | - case 'captcha': |
52 | | - $type = CaptchaType::class; |
53 | | - break; |
54 | | - case 'birthday': |
55 | | - $type = BirthdayType::class; |
56 | | - break; |
57 | | - case 'button': |
58 | | - $type = ButtonType::class; |
59 | | - break; |
60 | | - case 'checkbox': |
61 | | - $type = CheckboxType::class; |
62 | | - break; |
63 | | - case 'choice': |
64 | | - $type = ChoiceType::class; |
65 | | - break; |
66 | | - case 'collection': |
67 | | - $type = CollectionType::class; |
68 | | - break; |
69 | | - case 'color': |
70 | | - $type = ColorType::class; |
71 | | - break; |
72 | | - case 'contenttype': |
73 | | - $type = ContenttypeType::class; |
74 | | - break; |
75 | | - case 'country': |
76 | | - $type = CountryType::class; |
77 | | - break; |
78 | | - case 'currency': |
79 | | - $type = CurrencyType::class; |
80 | | - break; |
81 | | - case 'dateinterval': |
82 | | - $type = DateIntervalType::class; |
83 | | - break; |
84 | | - case 'datetime': |
85 | | - $type = DateTimeType::class; |
86 | | - break; |
87 | | - case 'date': |
88 | | - $type = DateType::class; |
89 | | - break; |
90 | | - case 'email': |
91 | | - $type = EmailType::class; |
92 | | - break; |
93 | | - case 'file': |
94 | | - $type = FileType::class; |
95 | | - break; |
96 | | - // case 'form': |
97 | | - // $type = FormType::class; |
98 | | - // break; |
99 | | - case 'hidden': |
100 | | - $type = HiddenType::class; |
101 | | - break; |
102 | | - case 'integer': |
103 | | - $type = IntegerType::class; |
104 | | - break; |
105 | | - case 'language': |
106 | | - $type = LanguageType::class; |
107 | | - break; |
108 | | - case 'locale': |
109 | | - $type = LocaleType::class; |
110 | | - break; |
111 | | - case 'money': |
112 | | - $type = MoneyType::class; |
113 | | - break; |
114 | | - case 'number': |
115 | | - $type = NumberType::class; |
116 | | - break; |
117 | | - case 'password': |
118 | | - $type = PasswordType::class; |
119 | | - break; |
120 | | - case 'percent': |
121 | | - $type = PercentType::class; |
122 | | - break; |
123 | | - case 'radio': |
124 | | - $type = RadioType::class; |
125 | | - break; |
126 | | - case 'range': |
127 | | - $type = RangeType::class; |
128 | | - break; |
129 | | - case 'repeated': |
130 | | - $type = RepeatedType::class; |
131 | | - break; |
132 | | - case 'reset': |
133 | | - $type = ResetType::class; |
134 | | - break; |
135 | | - case 'search': |
136 | | - $type = SearchType::class; |
137 | | - break; |
138 | | - case 'submit': |
139 | | - $type = SubmitType::class; |
140 | | - break; |
141 | | - case 'tel': |
142 | | - $type = TelType::class; |
143 | | - break; |
144 | | - case 'text': |
145 | | - $type = TextType::class; |
146 | | - break; |
147 | | - case 'textarea': |
148 | | - $type = TextareaType::class; |
149 | | - break; |
150 | | - case 'time': |
151 | | - $type = TimeType::class; |
152 | | - break; |
153 | | - case 'timezone': |
154 | | - $type = TimezoneType::class; |
155 | | - break; |
156 | | - case 'url': |
157 | | - $type = UrlType::class; |
158 | | - break; |
159 | | - case 'week': |
160 | | - $type = WeekType::class; |
161 | | - break; |
162 | | - case 'gregwarCaptcha': |
163 | | - $type = GregwarCaptchaType::class; |
164 | | - break; |
165 | | - case 'turnstileCaptcha': |
166 | | - $type = TurnstileType::class; |
167 | | - break; |
168 | | - default: |
169 | | - $type = TextType::class; |
170 | | - break; |
171 | | - } |
| 50 | + $type = match ($field['type']) { |
| 51 | + 'captcha' => CaptchaType::class, |
| 52 | + 'birthday' => BirthdayType::class, |
| 53 | + 'button' => ButtonType::class, |
| 54 | + 'checkbox' => CheckboxType::class, |
| 55 | + 'choice' => ChoiceType::class, |
| 56 | + 'collection' => CollectionType::class, |
| 57 | + 'color' => ColorType::class, |
| 58 | + 'contenttype' => ContenttypeType::class, |
| 59 | + 'country' => CountryType::class, |
| 60 | + 'currency' => CurrencyType::class, |
| 61 | + 'dateinterval' => DateIntervalType::class, |
| 62 | + 'datetime' => DateTimeType::class, |
| 63 | + 'date' => DateType::class, |
| 64 | + 'email' => EmailType::class, |
| 65 | + 'file' => FileType::class, |
| 66 | + 'hidden' => HiddenType::class, |
| 67 | + 'integer' => IntegerType::class, |
| 68 | + 'language' => LanguageType::class, |
| 69 | + 'locale' => LocaleType::class, |
| 70 | + 'money' => MoneyType::class, |
| 71 | + 'number' => NumberType::class, |
| 72 | + 'password' => PasswordType::class, |
| 73 | + 'percent' => PercentType::class, |
| 74 | + 'radio' => RadioType::class, |
| 75 | + 'range' => RangeType::class, |
| 76 | + 'repeated' => RepeatedType::class, |
| 77 | + 'reset' => ResetType::class, |
| 78 | + 'search' => SearchType::class, |
| 79 | + 'submit' => SubmitType::class, |
| 80 | + 'tel' => TelType::class, |
| 81 | + 'text' => TextType::class, |
| 82 | + 'textarea' => TextareaType::class, |
| 83 | + 'time' => TimeType::class, |
| 84 | + 'timezone' => TimezoneType::class, |
| 85 | + 'url' => UrlType::class, |
| 86 | + 'week' => WeekType::class, |
| 87 | + 'gregwarCaptcha' => GregwarCaptchaType::class, |
| 88 | + 'turnstileCaptcha' => TurnstileType::class, |
| 89 | + default => TextType::class, |
| 90 | + }; |
172 | 91 |
|
173 | 92 | return $type; |
174 | 93 | } |
|
0 commit comments