I just upgrade my Symfony 2.0.12 project to 2.1. I also installed FosUserBundle, but when I run the command
php composer.phar update
then the composer gives an error:
Loading composer repositories with package information Updating dependencies Writing lock file Generating autoload files PHP Fatal error: Declaration of User\UserBundle\Form\Type\RegistrationFormType::buildForm() must be compatible with that of Symfony\Component\Form\FormTypeInterface::buildForm() in /home/mark/dev/proj/src/User/UserBundle/Form/Type/RegistrationFormType.php on line 38 Fatal error: Declaration of User\UserBundle\Form\Type\RegistrationFormType::buildForm() must be compatible with that of Symfony\Component\Form\FormTypeInterface::buildForm() in /home/mark/dev/proj/src/User/UserBundle/Form/Type/RegistrationFormType.php on line 38 Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-update-cmd event terminated with an exception
He says that my previous RegistrationFormType is incompatible with the new Symfony 2.1 form interface.
My composer .json
// ... "friendsofsymfony/user-bundle": "*", //...
My RegistrationFormType.php
<?php namespace User\UserBundle\Form\Type; use Symfony\Component\Form\FormBuilderInterface; use FOS\UserBundle\Form\Type\RegistrationFormType as BaseType; class RegistrationFormType extends BaseType { public function buildForm(FormBuilder $builder, array $options) { parent::buildForm($builder, $options); // add your custom field $builder->add('name') ->add('surname') ->add('gender', 'choice', array( 'choices' => array('m' => 'Male', 'f' => 'Female'), 'empty_value' => 'Please select', )) ->add('address') ->add('zip') ->add('country', 'country', array( 'empty_value' => 'Please select', )) ->add('dateOfBirth', 'date', array( 'empty_value' => '', 'years' => range(date('Y')-100, date('Y')), )) ->add('agree', 'checkbox', array( 'label' => 'Check here to agree to the sites terms and Conditions and Data Privacy Policy.', )); } public function getName() { return 'user_user_registration'; } }
Any idea what is wrong?
source share