Ожидаемый класс автозагрузчика

Я создал код для тегов в Symfony, но у меня есть эта ошибка:

Ожидается, что автозагрузчик определит класс «Tag \ TagBundle \ Form \ Types \ TagsType» в файле »/var/www/html/TagProject/vendor/composer/../../src/Tag/TagBundle/Form/Types/ TagsType.php». Файл был найден, но класса в нем нет, возможно, имя класса или пространство имен содержит опечатку.

TagsType.php:

<?php

namespace Tag\TagBundle\Form\Types;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Tag\TagBundle\Form\DataTransformer\TagsTransformer;
use Symfony\Bridge\Doctrine\Form\DataTransformer\CollectionArrayTransformer;
use Symfony\Component\Form\FormBuilderInterface;

class TagsTypes extends AbstractType {

public function buildForm(FormBuilderInterface $builder, array $options){
$builder
->addModelTransformer(new CollectionArrayTransformer(),true)
->addModelTransformer(new TagsTransformer(),true);
}

public function getParent(){
return TextType::class;
}

}
}

TagsTransformer.php:

<?php

namespace Tag\TagBundle\Form\DataTransformer;

use Symfony\Component\Form\DataTransformerInterface;

class tagsTransformer implements DataTransformerInterface {

public function transform($value){
dump($value);
return "";
}
public function reverseTransform($value){

}
}

PostType.php:

<?php

namespace AppBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Tag\TagBundle\Form\Types\TagsType;

class PostType extends AbstractType
{
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('name')
->add('content')
->add('tags',TagsType::class);
}

/**
* {@inheritdoc}
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'AppBundle\Entity\Post'
));
}

/**
* {@inheritdoc}
*/
public function getBlockPrefix()
{
return 'appbundle_post';
}
}

1

Решение

Ваша ошибка называет class,

У вас есть TagsType.php это файл php, а имя вашего класса TagsTypes:

Вы должны изменить class название:

class TagsTypes

в

class TagsType

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector