Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Symfony 4.3.3 Classe Request non trouvable [4.x]


Sujet :

Symfony PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    septembre 2016
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : septembre 2016
    Messages : 27
    Points : 33
    Points
    33
    Par défaut Symfony 4.3.3 Classe Request non trouvable
    Salut tout le monde, je suis debutant en symfony 4.3.3, j'ai un formulaire lie a une entity,
    le rendu s'affiche normalement, mais quand j'essaie de soumettre une requete d'insertion dans la BD,
    je tombe sur l'erreur suivante, j'arrive pas a resoudre. SVP besoin d'aideNom : Capture.PNG
Affichages : 35
Taille : 42,7 Ko

    Voici mon controller
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <?php
     
    namespace App\Controller;
     
    use Symfony\Component\Routing\Annotation\Route;
    use App\Form\RegistrationType;
    use App\Entity\User;
    use Doctrine\Common\Persistence\ObjectManager;
    use Symfony\Component\HttpFoundation\Request;
    use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
     
    class SecurityController extends AbstractController
    {
        /**
         * @Route("/employe/registration", name="security_registration")
         * @Route("/employe/{id}/edit", name="show_employe")
         * @param Request $request
         * @return \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response
         */
        public function Form(User $user = null, Request $request, ObjectManager $manager)
        {
            if (!$user) {
                $user = new User();
            }
            $form = $this->createForm(RegistrationType::class, $user);
     
            $form->handleRequest($request);
     
            dump($user);
     
            if ($form->isSubmitted() && $form->isValid()) {
     
                $manager->persist($request);
                $manager->flush();
                return $this->redirectToRoute('show_employe', ['id' => $user->getId()]);
            }
     
            return $this->render('security/registration.html.twig', [
                'form' => $form->createView(),
                'editMode' => $user->getId() !== null
            ]);
        }
    }
    et voici le formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    <?php
     
    namespace App\Form;
     
    use App\Entity\User;
    use Symfony\Component\Form\AbstractType;
    use Symfony\Component\Form\FormBuilderInterface;
    use Symfony\Component\OptionsResolver\OptionsResolver;
    use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
    use Symfony\Component\Form\Extension\Core\Type\PasswordType;
    use Symfony\Component\Form\Extension\Core\Type\EmailType;
    use Symfony\Component\Form\Extension\Core\Type\TelType;
    use Symfony\Component\Form\Extension\Core\Type\DateType;
     
    class RegistrationType extends AbstractType
    {
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            $builder
                ->add('nom_complet')
                ->add(
                    'civilite',
                    ChoiceType::class,
                    [
                        'choices' => [
                            '-- Choix de la civilite --' => null,
                            'Homme' => 'Homme',
                            'Femme' => 'Femme'
                        ]
                    ]
                )
     
                ->add(
                    'statut_matrimoniale',
                    ChoiceType::class,
                    [
                        'choices' => [
                            '-- Choix du statut matrimoniale --' => null,
                            'Marie' => 'Marie',
                            'Celibataire' => 'Celibataire',
                            'Divorce' => 'Divorce'
                        ]
                    ]
                )
                ->add('poste')
                ->add('date_recrutement', DateType::class)
                ->add(
                    'statut_poste',
                    ChoiceType::class,
                    [
                        'choices' => [
                            '-- Choix du statut du poste --' => null,
                            'Permanant' => 'Permanant',
                            'Temporaire' => 'Temporaire',
                            'Ponctuel' => 'Ponctuel'
                        ]
                    ]
     
                )
                ->add(
                    'type_contrat',
                    ChoiceType::class,
                    [
                        'choices' => [
                            '-- Choix du type de contrat --' => null,
                            'CDI' => 'CDI',
                            'CDD' => 'CDD',
                            'Temporaire' => 'Temporaire',
                            'Saisonier' => 'Saisonier',
                            'Stage' => 'Stage',
                        ]
                    ]
     
                )
                ->add('date_nais', DateType::class)
                ->add('adresse')
                ->add('phone', TelType::class)
                ->add('email', EmailType::class)
                ->add('matricule')
                ->add('username')
                ->add('password', PasswordType::class)
                ->add('cpassword', PasswordType::class);
        }
     
        public function configureOptions(OptionsResolver $resolver)
        {
            $resolver->setDefaults([
                'data_class' => User::class,
            ]);
        }
    }

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2011
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2011
    Messages : 268
    Points : 451
    Points
    451
    Par défaut
    Salut,

    Essaye d'utiliser l'EntityManagerInterface à la place de l'ObjectManager :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    use Doctrine\ORM\EntityManagerInterface;
    ...
        public function Form(User $user = null, Request $request, EntityManagerInterface $manager) {
    ...

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    septembre 2016
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : septembre 2016
    Messages : 27
    Points : 33
    Points
    33
    Par défaut
    Salut Thomas
    Merci deja pour ta reponse, je viens de remplacer mais ce n'a toujours pas change,
    cependant j'ai enleve la fonction $manager->persist($request); et la il fait bien l'insertion, mais la redirection ne marche pas.

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2011
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2011
    Messages : 268
    Points : 451
    Points
    451
    Par défaut
    Du coup tu as trouvé toi-même le problème sans le savoir, il faut persister l'objet $user et non la requête :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $manager->persist($user);

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    septembre 2016
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : septembre 2016
    Messages : 27
    Points : 33
    Points
    33
    Par défaut
    Merci de bien m'aider Thomas, c'est vrai
    j'etais entrain de persister la requete au lieu de l'objet

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2011
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2011
    Messages : 268
    Points : 451
    Points
    451
    Par défaut
    N'hésite pas à mettre la discussion en "Résolue" si ton problème est corrigé !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 29/06/2006, 15h54
  2. Taille d'une classe et non d'une instance
    Par OrangeBud dans le forum Général Java
    Réponses: 1
    Dernier message: 12/04/2006, 13h08
  3. [Module de classe] Fonction non liée à l'instance?
    Par Caroline1 dans le forum Access
    Réponses: 6
    Dernier message: 07/04/2006, 21h13
  4. fermer la GUI d'une class et non le soft entier
    Par iMaTh dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 02/02/2006, 19h41
  5. Tomcat et classe personnel non trouvée.
    Par swirtel dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 15/02/2005, 15h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo