As tu importer la class dans le controller ?
essaie aussi de supprimer le cache
Bonjour,
Lorsque je clique sur ma page qui est censé m'envoyer sur un lien, cela m'indique :
"Could not load type "App\Form\TaskType": class does not exist."
Alors que pourtant il me semble avoir crée toutes mes class dans mon dossier "TaskType" comme le code ci-dessous :
<?php
namespace App\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\DateTimeType;
use Symfony\Component\Form\Extension\Core\Type\NumberType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
class TaskType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', TextType::class, [
'label' => 'Nom'
])
->add('description', TextareaType::class, [
'label' => 'Description',
'required' => false
])
->add('dueDate', DateTimeType::class, [
'label' => 'Date d\'échéance',
'required' => false
])
->add('reminder', NumberType::class, [
'label' => 'Rappel (en minutes)',
'required' => false
])
->add('save', SubmitType::class)
;
}
}
Merci de votre aide !
15 réponses
Bonjour Bernard,
Oui biensûr voici le code de mon fichier TaskController.php
<?php
namespace App\Controller;
use App\Entity\Task;
use App\Entity\Listing;
use App\Form\TaskType;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
/**
-
@Route("{listingId}/task", name="task_", requirements={"listingId"="\d+"})
*/
class TaskController extends AbstractController
{
/**-
@Route("/new", name="create")
*/
public function create(EntityManagerInterface $entityManager, Request $request, $listingId)
{
$listing = $entityManager->getRepository(Listing::class)->find($listingId);$task = new Task();
$task->setListing($listing);$form = $this->createForm(TaskType::class, $task);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$entityManager->persist($task);
$entityManager->flush();return $this->redirectToRoute('listing_show', ['listingId' => $listingId]);}
return $this->render('task.html.twig', ['form' => $form->createView()]);
}
}
-
supprime le cache et composer dump-autoload
On supprime le cache en faisant php bin/console cache:clear ?
oui et si l'erreur persiste même en voulant supprimer le cache, supprime aussi le dossier var/
J'ai procédé comme tu m'as dit et lorsque je recharge la page cela ne change pas mon problème :/
D:\Documents\Application_web\my_project_name>php bin/console cache:clear
// Clearing the cache for the dev environment with debug true
[OK] Cache for the "dev" environment (debug=true) was successfully cleared.
D:\Documents\Application_web\my_project_name>composer dump-autoload
Generating optimized autoload files
composer/package-versions-deprecated: Generating version class...
composer/package-versions-deprecated: ...done generating version class
Generated optimized autoload files containing 4715 classes
vérifie le nom du fichier
J'ai supprimé le dossier var et le nom de mon fichier est bien le bon, à mon avis il doit y avoir une erreur dans le code..
C'est possible que l'erreur vienne de ma base de donnée ?
Non je ne crois pas
Bonjour, je vois ne vois pas trop d'erreur non plus à première vue.
As-tu bien ton fichier TaskType.php dans ton dossier src/FormTaskType.php ???
As tu installer la libraire form ? composer require symfony/form ?
Ahhhhh puré j'avais mis le fichier Form dans bin au lieu de le mettre dans src, franchement bien vu ça marche parfaitement !!! :D
Merci Jessy ainsi qu'à Bernard pour votre aide ;)
Ahhhhh puré j'avais mis le fichier Form dans bin au lieu de le mettre dans src, franchement bien vu ça marche parfaitement !!! :D
Merci Jessy ainsi qu'à Bernard pour votre aide ;)
Ahah cool ! on adore ce gens d'erreur aussi xD
Ouais c'est tellement bête parfois les erreurs surtout que c'est pas la première de ce genre que j'ai eu à gérer sur mon appli et elles te font perdre du temps pour rien (tout en restant patient ^^ ) mais bon quand tu te débloques ça fait vraiment plaisir :)
Encore merci !