2016-07-11 12 views
-1

sehen habe ich diese Erklärung in meinem Code:Symfony 2 - nicht Entitätsklasse

\Page\dashboardBundle\Entity\Cars as Cars; 

aber wenn ich versuche neues Objekt der Klasse Autos erstellen (neu \ Cars()), I Fehler:

Attempted to load class "Cars" from the global namespace. Did you forget a "use" statement?

Was ist der Grund für ein Problem?

Antwort

1

instanziiert Wenn Sie new \Cars() tun, Sie versuchen, Instanz der Klasse erstellen Cars in root Namespace. Das liegt am Backslash vor dem Klassennamen.

Nur blackslash entfernen:

new Cars(); 
+0

versuchte ich Ihre Lösung, aber ich bekomme: Die Klasse 'Seite \ dashboardBundle \ Entity \ Cars' nicht in der Kette konfiguriert Namespaces cron \ UpdateClientListBundle \ Entity‘Entity existieren in verschiedenen Bundle als Controller-Klasse gefunden wurde. –

+0

Das bedeutet, dass es funktioniert, und es ist ein Schritt nach vorne. ;-) Nun hast du ein anderes Problem, das nicht mit PHP selbst zusammenhängt, aber jetzt geht es um Symfony. Google für diese Fehlermeldung oder Informationen (wahrscheinlich in anderer Frage) darüber, wie Sie versuchen, es zu verwenden, da der Kontext jetzt von Bedeutung ist. –

+1

Ok, die Ursache des Problems war, dass ich den Entity Manager von Doctrine –

1

Wenn Sie das "\" Zeichen für die Ladeklasse verwenden, sagen Sie bei PHP, dass es in den globalen Kern-Namespace PHP geladen werden soll.

Sie haben die Klasse "Cars" bereits deklariert. Sie müssen das Zeichen "\" nicht verwenden. Schreiben Sie einfach richtig new Cars und Code laufen und Sie können \Page\dashboardBundle\Entity\Cars

0
  1. haben Sie fügen use vor?

    use \Page\dashboardBundle\Entity\Cars as Cars;

  2. tat versuchen Sie "\" vor Autos zu entfernen nennen?

    new Cars;

  3. wird der Namensraum betrat den Namespace in der Klasse selbst definiert Vorstellungen?

    Bedeutung, ist der Standort von Class Cars in \Page\dashboardBundle\Entity\ und enthält die Klasse selbst einen Namespace \Page\dashboardBundle\Entity\?

+0

leider 3xYES vergessen habe. –