2016-04-29 2 views
0

Ich bin neu in Symfony Framework installiert und versuche, den ersten Code auszuführen.symfony Fehler: Die Datei wurde gefunden, aber die Klasse war nicht drin, der Klassenname oder Namensraum hat wahrscheinlich einen Tippfehler

Das Problem ist: wie im Dokument erwähnt habe ich die folgenden zwei Dateien erstellt.

///home/scriptkiddie/symfony/projects/project1/src/AppBundle/Controller/MainController.php 
namespace AppBundle\Controller; 
use Symfony\Component\HttpFoundation\Response; 

class MainController 
{ 
    public function contactAction() 
    { 
    return new Response('<h1>Contact us!</h1>'); 
    } 
} 

=========================================== =========================

///home/scriptkiddie/symfony/projects/project1/app/config/routing.yml 

app: 
    resource: "@AppBundle/Controller/" 
    type:  annotation 

# app/config/routing.yml 
contact: 
    path: /contact 
    defaults: { _controller: AppBundle:Main:contact } 
~              

Nun, wenn ich die uRL http://localhost:8000/contact

ich die folgende Fehlermeldung erhalten:

Der Autoloader erwartete Klasse "AppBundle \ Controller \ MainController" definiert in Datei "/ home/scriptkiddie/symfony/projects/project1/src/A ppBundle/Controller/MainController.php ". Die Datei wurde gefunden, aber die Klasse war nicht darin enthalten, der Klassenname oder Namespace hat wahrscheinlich einen Tippfehler. 500 Interner Server Fehler - RuntimeException

+0

In Ihrer routing.ym geben Sie "Annotation" an, aber Sie verwenden Yml zu Ihrem Routing ... Es ist normal? – Letsrocks

Antwort

1

Ich denke, Sie mischen zwei Arten von Routing-Definitionen. Zuerst definieren Sie, dass die Routen durch Annotationen festgelegt werden und anschließend setzen Sie eine Annotation mit yml.

Sie sollten diese Anmerkung zu Ihrem Controller hinzuzufügen:

///home/scriptkiddie/symfony/projects/project1/src/AppBundle/Controller/ManController.php 

namespace AppBundle\Controller; 
use Symfony\Component\HttpFoundation\Response; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; 

    class MainController 
    { 

     /** 
     * @Route("/contact", name="contact") 
     */ 
     public function contactAction() 
     { 
     return new Response('<h1>Contact us!</h1>'); 
     } 
    } 

und die app/config/routing.yml Datei verwerfen.

+0

zeigt immer noch der gleiche Fehler bro – scriptkiddie

+0

den Fehler bro zeigen: Keine Route für "GET/Kontakt" 404 Not Found gefunden - NotFoundHttpException 1 verknüpft Ausnahme: ResourceNotFoundException » – scriptkiddie

+0

klar, dass der Cache, wenn Sie die @ marcos der Modifikation hat – Letsrocks

Verwandte Themen