Как обрабатывать это сообщение об ошибке в Symfony2: несоответствие регистра между загруженными и объявленными именами классов?

Я разработал веб-сайт с помощью Symfony2 и случайно удалил его. К сожалению, мне удалось восстановить его исходную папку с жесткого диска моего компьютера благодаря программе восстановления. Я также восстановил базу данных. При тестировании, работает ли веб-сайт правильно, как раньше, я понял, что есть проблема: на странице, содержащей календарь Fullcalendar, при нажатии в любом месте календаря должно появиться всплывающее окно, содержащее форму добавление нового события. Но при этом я вижу на экране своего компьютера всплывающее окно, содержащее это сообщение об ошибке:

Несоответствие регистра между загруженными и объявленными именами классов: Ikproj\HomeBundle\Form\eventstype vs Ikproj\HomeBundle\Form\eventsType

Затем я проверил имя файла, связанного с формой добавления нового события. И я понял, что это eventsType.php (не "eventstype.php"). Это код, который содержит такой файл:

    <?php

namespace Ikproj\HomeBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;


class eventsType extends AbstractType
{
     /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add('title','text')
                ->add('start','datetime',array(
                    'input' => 'datetime',
                    'format' => 'dd/MM/yyyy H:i',
                    'minutes' => array(0,30)))
                ->add('end','datetime',array(
                    'input' => 'datetime',
                    'format' => 'dd/MM/yyyy H:i',
                    'minutes' => array(0,30)))
                ->add('location','text')
                ->add('description','textarea', array('attr' => array('rows' => '5','cols' => '40')));
    }

    /**
     * @param OptionsResolverInterface $resolver
     */
    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'Ikproj\HomeBundle\Entity\events'
        ));
    }

    /**
     * @return string
     */
    public function getName()
    {
        return 'ikproj_homebundle_events';
    }
}

Как видно из приведенного выше кода, имя класса — eventsType (не "eventstype"). На самом деле, все на моем сайте работало очень хорошо до того, как его случайно удалили. Итак, мои вопросы:

  1. Почему я получаю это сообщение об ошибке?
  2. Как я могу решить проблему?

person Nadim2014    schedule 05.11.2015    source источник


Ответы (1)


Вы можете решить эту проблему, изменив вызов своей формы в своем контроллере, потому что вы, вероятно, используете это:

use Ikproj\HomeBundle\Form\eventstype;

Вместо этого:

use Ikproj\HomeBundle\Form\eventsType;
person Besbes Riadh    schedule 05.11.2015