12
votes

Dépannage "[Erreur de syntaxe] PlaineValue attendue, got ')'"

Je reçois cette erreur dans mes annotations DocBlock pour Doctrine 2:

Doctrine \ Annotations \ AnnotationException: [Erreur de syntaxe] Plainevalue, got ')' Code> P> Après avoir cherché une réponse, j'ai trouvé cette référence Stackoverflow Question 3500125 , qui dit en substance de mettre Citations autour de toutes les valeurs des annotations. P>

avec le bloc d'annotation que cela ne semble que cela ne semble pas possible. Voici mon exemple qui lance l'erreur. p> xxx pré>

Si je suis l'avis de la réponse que j'ai trouvé dans le débordement de pile qui doit citer les valeurs, mon code sera comme ceci: P>

/**
 * @var tags
 *
 * @ManyToMany(targetEntity="namespace\to\tag")
 * @JoinTable(name="content_tag",
 *   joinColumns="{
 *     @JoinColumn(name="content_id", referencedColumnName="id")
 *   }",
 *   inverseJoinColumns="{
 *     @JoinColumn(name="tag_id", referencedColumnName="id")
 *   }" // Note the extra quotation marks
 * )
 */
private $tags;


4 commentaires

J'ai un nombre à plusieurs à plusieurs utilisateurs de la même syntaxe que vous avez, les seules différences étant mon indentation / placement et une cascade. Jetez un coup d'œil: Gist.github.com/1025638


Merci Jeremy, je suis sûr que la syntaxe a raison. Mais j'ai toujours l'erreur. Ça devient très frustrant lol


Les premiers blocs de code sont valides et fonctionne pour moi. Quelle version de la doctrine utilisez-vous?


Désolé pour la réponse tardive, j'ai trouvé l'erreur de ma manière ... et cela fonctionne maintenant. Voir la réponse ci-dessous. Pour répondre à votre question, c'était le 2.0. * Libération stable.


3 Réponses :


3
votes

C'était une erreur idiote, la chaîne d'erreur n'était pas très utile car elle indiquait la ligne que j'ai montré dans ma question comme ligne que l'erreur était allumée. Le fait était que cette entité étendait un objet parent, le parent avait la balise @entyTity, mais l'enfant ne l'a pas fait, je l'ai déplacé et tout fonctionne bien.


0 commentaires

50
votes

Pour les personnes qui sont venues ici mais pas à cause de la doctrine, mon erreur utilisait des guillemets simples au lieu de citations doubles dans le @Routes code> Annotation.

faux: p>

/**
* @Route("/home")
*/


3 commentaires

C'était aussi mon problème. Je l'ai résolu avant de voir ce post, mais c'est drôle.


Ancienne réponse ... Nombre toujours de problèmes. Je frappais ma tête contre un mur sur celui-ci toute la journée! Merci.


Merci mec! Cela se produit également au cas où vous utilisez «à la place» au nom de la route.



0
votes

Je viens d'avoir le même type d'erreur en utilisant une affirmation pour une entité: xxx

la transformant en xxx p> corrigé :)


0 commentaires