我使用Symfony2开发了一个网站,但意外删除了它。不幸的是,由于有了恢复软件,我已经成功地从计算机的硬盘还原了其源文件夹。我还还原了数据库。在测试网站是否能像以前一样正常工作时,我发现有一个问题:在包含Fullcalendar日历的页面中,单击日历中的任何位置时,必须出现一个 pop 窗口,其中包含添加一个新事件。但是我在执行此操作时在计算机屏幕上看到的是一个 pop 窗口,其中包含以下错误消息:
装入的类名和声明的类名之间的大小写不匹配:Ikproj \ HomeBundle \ Form \ eventstype与Ikproj \ HomeBundle \ Form \ eventsType
然后,我 checkout 了与添加新事件的形式相关的文件名。而且我发现它是 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”)。
实际上,在我的网站上的所有内容在被意外删除之前都运行良好。因此,我的问题是:
最佳答案
您可以通过在Controller中更改表单的调用来解决此问题,因为您可能正在使用以下代码:
use Ikproj\HomeBundle\Form\eventstype;
代替这个:
use Ikproj\HomeBundle\Form\eventsType;