Last active
April 30, 2021 10:58
-
-
Save mylk/42f0b5aa5cf13440a75afd56805aeb4c to your computer and use it in GitHub Desktop.
A Symfony Forms choice type of the US states
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
* Installation: | |
* ============= | |
* # services.yml | |
* services: | |
* # ... | |
* acme.form.states: | |
* class: Acme\AcmeBundle\Form\Extension\StatesType | |
* tags: | |
* - { name: form.type, alias: acme.form.states } | |
* | |
* Usage: | |
* ====== | |
* $builder | |
* ->add("state", "acme.form.states") | |
* // ... | |
*/ | |
namespace Acme\AcmeBundle\Form\Extension; | |
use Symfony\Component\Form\AbstractType; | |
use Symfony\Component\OptionsResolver\OptionsResolver; | |
class StatesType extends AbstractType | |
{ | |
/** | |
* {@inheritdoc} | |
*/ | |
public function configureOptions(OptionsResolver $resolver) | |
{ | |
$resolver->setDefaults(array( | |
"choices" => array( | |
"Alabama" => "AL", | |
"Alaska" => "AK", | |
"Arizona" => "AZ", | |
"Arkansas" => "AR", | |
"California" => "CA", | |
"Colorado" => "CO", | |
"Connecticut" => "CT", | |
"Delaware" => "DE", | |
"Florida" => "FL", | |
"Georgia" => "GA", | |
"Hawaii" => "HI", | |
"Idaho"=> "ID", | |
"Illinois" => "IL", | |
"Indiana" => "IN", | |
"Iowa" => "IA", | |
"Kansas" => "KS", | |
"Kentucky" => "KY", | |
"Louisiana" => "LA", | |
"Maine" => "ME", | |
"Maryland" => "MD", | |
"Massachusetts" => "MA", | |
"Michigan" => "MI", | |
"Minnesota" => "MN", | |
"Mississippi" => "MS", | |
"Missouri" => "MO", | |
"Montana" => "MT", | |
"Nebraska" => "NE", | |
"Nevada" => "NV", | |
"New Hampshire" => "NH", | |
"New Jersey" => "NJ", | |
"New Mexico" => "NM", | |
"New York" => "NY", | |
"North Carolina" => "NC", | |
"North Dakota" => "ND", | |
"Ohio" => "OH", | |
"Oklahoma" => "OK", | |
"Oregon" => "OR", | |
"Pennsylvania" => "PA", | |
"Rhode Island" => "RI", | |
"South Carolina" => "SC", | |
"South Dakota" => "SD", | |
"Tennessee" => "TN", | |
"Texas" => "TX", | |
"Utah" => "UT", | |
"Vermont" => "VT", | |
"Virginia" => "VA", | |
"Washington" => "WA", | |
"West Virginia" => "WV", | |
"Wisconsin" => "WI", | |
"Wyoming" => "WY" | |
), | |
"choices_as_values" => true | |
)); | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function getParent() | |
{ | |
return "choice"; | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function getName() | |
{ | |
return "acme.form.states"; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment