2016-05-12 12 views
2

ich eine Lehre Anmerkung erstelltIndividuelle Annotation wurde nie importiert

namespace Fondative\GenBundle\Front\Annotation; 
use Doctrine\Common\Annotations\Annotation; 

/** 
* @Annotation 
* @Target("PROPERTY") 
*/ 
class ReferenceAnnotation extends Annotation { 

} 

use Fondative\GenBundle\Front\Annotation\ReferenceAnnotation ; 

/** 
* A Driver. 
* 
* 
* 
* @ORM\Entity 
* 
*/ 
class Driver { 
    /* 
    * @Reference 
    */ 
    private $name; 

ich diese Ausnahme erhalten

[Semantische Fehler] Die Anmerkung "@Reference" in Eigenschaft Fondative \ TestBundle \ Entity \ Driver :: $ name wurde nie importiert.

+0

mit dieser Verwendung Aussage versuchen: 'Fondative \ GenBundle \ Front \ Annotation \ ReferenceAnnotation als Referenz verwenden;' – Matteo

+0

ich die falsche Anmerkung Namen zu nennen: –

Antwort

0
class Driver { 
    /* 
    * @ReferenceAnnotation 
    */ 
    private $name; 

oder die Annotation-Klasse umbenennen Referenz und

use Fondative\GenBundle\Front\Annotation\Reference as Reference ; 
    /* 
    * @Reference 
    */ 
    private $name; 
2

Ein sehr häufiger Fehler;)

Das Paket Doctrine/Annotation Anmerkungen von Kommentaren viaReflectionProperty::getDocComment() zu lesen.

Problem Beispiel:

class MyClassA 
{ 
    /** 
    * Foo 
    */ 
    private $foo; 

    /* 
    * Bar 
    */ 
    private $bar; 
} 


$ref = new \ReflectionClass('MyClassA'); 

print sprintf(
    "Comment of MyClassA::foo -> \n%s\n\n", 
    $ref->getProperty('foo')->getDocComment() 
); 

print sprintf(
    "Comment of MyClassA::bar -> \n%s\n\n", 
    $ref->getProperty('bar')->getDocComment() 
); 

Die Eigenschaft foo doc Anmerkungen haben, aber Eigenschaft bar nicht Kommentar, weil Fehler in declare Kommentar (eine spezielle char *) vorliegen.

In PHP doc Kommentare müssen aus zwei Zeichen * gestartet werden!

Fix diese Tippfehler, und alles funktioniert;)