Класс не реализует «Symfony \ Component \ Form \ FormTypeInterface» - PullRequest
0 голосов
/ 08 июля 2019

Я создаю форму для изменения моих данных, но когда я хочу получить доступ к своей форме, я получаю эту ошибку:

Не удалось загрузить тип «App \ Entity \ Clients»: класс не реализует "Symfony \ Component \ Form \ FormTypeInterface".

ClientsEntity:

<?php

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity(repositoryClass="App\Repository\ClientsRepository")
 * @ORM\Table(name="app_clients")
 */
class Clients
{
    /**
     * @var int
     *
     * @ORM\Id
     * @ORM\GeneratedValue
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @var string
     *
     * * @ORM\Column(type="string", length=180, unique=true)
     */
    private $name;

    public function getId(): ?int
    {
        return $this->id;
    }

    public function setName(string $name): void
    {
        $this->name = $name;
    }

    public function getName(): ?string
    {
        return $this->name;
    }

    public function __toString(): string
    {
        return $this->name;
    }
}

ClientType:

<?php

namespace App\Form;

use App\Entity\Clients;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;


class ClientType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
          $builder
              ->add('name', null, array(
                  'label'    => 'Domaine du client',
                  'required' => true,
              ))
          ;
    }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults([
            'data_class' => Clients::class,
            'name' => null
        ]);
    }
}

ClientsController:

   /**
     * @Route("/edit/{id}", name="support_admin_client_edit", methods={"GET","POST"})
     */
    public function edit(Request $request, Clients $clients): Response
    {
        $form = $this->createForm(ClientType::class, $clients);
        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) {
            $this->getDoctrine()->getManager()->flush();

            return $this->redirectToRoute('support_admin_client_index', [
                'id' => $clients->getId(),
            ]);
        }

        return $this->render('admin/ticketing/client/edit.html.twig', [
            'clients' => $clients,
            'form' => $form->createView(),
        ]);
    }

Моя форма реализует AbstractType, поэтому я не вижу, откуда появилась моя ошибка. Вы знаете, откуда это сообщение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...