Bonjour,
Je débute avec les SF2, je tente de réaliser un formulaire de contact (sans enregistrement des données en BDD donc) en suivant la doc officielle mais je galère un peu, je rencontre des erreurs à chaque étape...
J'ai l'erreur suivante :
Voici le code de mon contrôleur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Neither the property "contact" nor one of the methods "getContact()", "isContact()", "hasContact()", "__get()" exist and have public access in class "Open\OpcBundle\Entity\Contact".
Code de mon entité Contact :
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 // src/Open/OpcBundle/Controller/OpcController.php namespace Open\OpcBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Open\OpcBundle\Entity\Contact; use Symfony\Component\HttpFoundation\Request; use Open\OpcBundle\Form\Type\ContactType; class OpcController extends Controller { public function contactAction(Request $request) { $contact = new Contact(); $form = $this->createForm(new ContactType(), $contact); $form->handleRequest($request); if ($form->isValid()) { // return $this->redirect($this->generateUrl('contact_success')); } return $this->render("OpenOpcBundle:Opc:contact.html.twig", array("formu" => $form->createView(),)); } // -- contactAction() } // -- classe
Ma classe ContactType :
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 // src/Open/OpcBundle/Entity/Contact.php namespace Open\OpcBundle\Entity; class Contact { protected $nom; protected $courriel; protected $sujet; protected $msg; public function getNom() { return $this->nom; } public function setNom($nom) { $this->nom = $nom; } public function getCourriel() { return $this->courriel; } public function setCourriel($courriel) { $this->courriel = $courriel; } public function getSujet() { return $this->sujet; } public function setSujet($sujet) { $this->sujet = $sujet; } public function getMsg() { return $this->msg; } public function setMsg($msg) { $this->msg = $msg; } } // -- classe
Je comprends bien l'erreur qui se situe visiblement dans l'entité Contact (Entity/Contact.php), mais j'ai beau avoir vérifier je ne trouve pas comment corriger . Rien dans la doc (le code de mon entité est celui trouvé dans la doc) et je ne trouve pas non plus sur le web.
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 # src/Open/OpcBundle/Form/Type/ContactType.php namespace Open\OpcBundle\Form\Type; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; class ContactType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder->add('contact'); $builder->add('nom', 'text', array('max_length' => 30, 'label' => 'Prénom, nom*', 'trim' => true, 'attr' => array('size'=>'30'))) ->add('courriel', 'email', array('max_length' => 255, 'label' => 'Adresse email*', 'trim' => true, 'attr' => array('size'=>'30'))) ->add('sujet', 'text', array('max_length' => 255, 'label' => 'Objet*', 'trim' => true, 'attr' => array('size'=>'30'))) ->add('msg', 'textarea', array('attr' => array('rows' => '10','cols' => '80'))) ->add('submit', 'submit'); } public function getName() { return "Contact"; } }
Merci d'avance
Partager