4 * This file is part of the Symfony package.
6 * (c) Fabien Potencier <fabien@symfony.com>
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 namespace Symfony\Component\Form\Extension\Core\Type
;
14 use Symfony\Component\Form\AbstractType
;
15 use Symfony\Component\Form\FormBuilderInterface
;
16 use Symfony\Component\Form\FormInterface
;
17 use Symfony\Component\Form\Extension\Core\DataTransformer\BooleanToStringTransformer
;
18 use Symfony\Component\Form\FormView
;
19 use Symfony\Component\OptionsResolver\OptionsResolverInterface
;
21 class CheckboxType
extends AbstractType
26 public function buildForm(FormBuilderInterface
$builder, array $options)
29 ->addViewTransformer(new BooleanToStringTransformer($options['value']))
36 public function buildView(FormView
$view, FormInterface
$form, array $options)
38 $view->vars
= array_replace($view->vars
, array(
39 'value' => $options['value'],
40 'checked' => null !== $form->getViewData(),
47 public function setDefaultOptions(OptionsResolverInterface
$resolver)
49 $emptyData = function (FormInterface
$form, $clientData) {
53 $resolver->setDefaults(array(
55 'empty_data' => $emptyData,
63 public function getName()