2016-04-18 21 views
0

derzeit entwickle ich ein Projekt mit dem Framework symfony, um einen Kalender mit Ereignissen zu verwenden. So i entscheiden, dieses Bündel zu verwenden, die zu schließen ist, was ich will: https://github.com/adesigns/calendar-bundleKlasse nicht gefunden Symfony 3.0

Ich versuche, einen Dienst zu starten, um meine Ereignisse in meinem Kalender zu laden, aber ich habe einige Mühe meine Klasse zu finden. Diese ist der Fehler, die ich habe: The error

das ist, wo ich erkläre meinen Dienst: Parameter: # parameter_name: Wert

services: 
# service_name: 
#  class: AppBundle\Directory\ClassName 
#  arguments: ["@another_service_name", "plain_value", "%parameter_name%"] 

projetTest.calendartestbundle.calendar_listener: 
    class: projetTest\calendartestBundle\EventListener\CalendarEventListener 
    arguments: ["@doctrine.orm.entity_manager"] 
    tags: 
     - { name: kernel.event_listener, event: calendar.load_events, method: loadEvents } 

Es ist meine Ansicht, die die Vorlage Kalender aufrufen:

{% extends '::base.html.twig' %} 
{% block title %} 
Projet test calendar 
{% endblock %} 
{% block body %} 
<h1>Projet test calendar</h1> 
{% include 'ADesignsCalendarBundle::calendar.html.twig' %} 
{% endblock %} 

Also ich brauche deine Hilfe Jungs, wenn jemand eine Idee habe ich möchte es hören, danke.

+0

Haben Sie den Cache gelöscht? Hast du das Bündel registriert? – Dezigo

+0

Ja, ich lösche den Cache und ja, ich registriere das Bündel –

Antwort

0

Das erste, was Sie wissen sollten, ist, dass ein Namespace immer im oberen Kamelfall sein sollte: anstelle von projetTest\calendartestBundle\EventListener\CalendarEventListener sollten Sie ProjetTest\CalendarTestBundle\EventListener\CalendarEventListener verwenden.

Für Ihr Problem scheint es, dass Ihre Klasse nicht gefunden werden kann, was ein Problem des Autoloading ist. Autoloading ist in der Regel nach Komponisten in Symfony behandelt, so gibt es zwei mögliche Probleme:

  • die Datei, in dem Komponist für Ihre Klasse sucht (src/projetTest/calendartestBundle/EventListener/CalendarEventListener.php) existiert nicht;
  • Die Klasse CalendarEventListener ist in dieser Datei nicht vorhanden oder nicht im richtigen Namespace;
+0

Ok, ich werde das versuchen, ja manchmal habe ich Fehler gemacht, als ich ein Bündel nannte, wie kann ich es sicher umbenennen? –

+0

Dies ist meine Klasse: http://pastebin.com/TjjRCNGe –

+0

Nun mein Namespace war schlecht, ich hatte src/calendartestBundle/EventListener/ Also ändere ich in src/projetTest/calendartestBundle/EventListener und jetzt funktioniert, ich nicht habe meine Ereignisse, aber das ist ein weiterer Fehler, denke ich. –