<?php
declare(strict_types=1);
namespace App\Form\Choice;
use App\Entity\Channel\CountryPricesInterface;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Intl\Countries;
use Symfony\Component\OptionsResolver\Options;
use Symfony\Component\OptionsResolver\OptionsResolver;
final class CountryChoiceType extends AbstractType
{
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'choices' => static function (Options $options) {
$choices = [];
foreach (CountryPricesInterface::ALL as $countryCode => $price) {
$choices[Countries::getName($countryCode)] = $countryCode;
}
return $choices;
},
'choice_translation_domain' => false,
]);
}
public function getParent(): string
{
return ChoiceType::class;
}
public function getBlockPrefix(): string
{
return 'country';
}
}