2016-10-12 3 views
-1

Ich bin neu in Symfony 3. Ich habe das Framework erfolgreich installiert, aber jetzt möchte ich einen neuen Controller machen, nämlich 'ToDoController' und möchte eine Funktion darin ausführen.Wie man mit neuem Controller in Symfony arbeitet 3

Dies ist der Controller:

<?php 

namespace AppBundle\Controller; 

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; 
use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
use Symfony\Component\HttpFoundation\Request; 

class ToDoController 
{ 
    /** 
    * @Route("/todos") 
    */ 
    public function indexAction() 
    { 
     echo "hello world"; 

    } 
} 

Nun, wenn ich die folgende URL in den Browser eingeben, es gibt mir Fehler 404 nicht gefunden.

http://localhost/todolist/todos

Dies ist der Screenshot der broweser

enter image description here

Dies ist die routing.yml Datei im Ordner config

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

ich das bekommen folgende Seite, wenn ich den folgende URL in der broweser

http://localhost/todolist/

enter image description here

I Welt nur drucken möchten hallo zu überprüfen, ob mein Controller funktioniert. Bitte Hilfe.

+0

Woher kommt '/ todolist'? Dieser Pfad ist weder bei der Aktion noch beim Controller definiert. Die Route 'localhost/todos' sollte so weit funktionieren, wie ich sehen kann. – KhorneHoly

+0

haben Sie den Controller zur routing.yml hinzugefügt. App: Ressource: "@ AppBundle/Controller /" Typ: Annotation – Rooneyl

+0

Todolist ist mein Projektname. Ich meine den Namen des Projektordners in meinem Stammverzeichnis. –

Antwort

0

Sie müssen Ihren Apache für eine Anwendung auf einem separaten Host konfigurieren.

See documentation how to do it

Was Sie haben Sie es einfach in einen Ordner kopiert todolist in Ihrer Apache-Verzeichnis root. Aber Sie müssen haben es auf einem separaten Host, und Dokument-Root dieses Hosts muss web Ordner sein (obwohl es einen anderen Namen haben kann und möglicherweise verschoben).

Also entweder einen virtuellen Host einrichten, oder make localhost haben nur Symfony App. Eine andere Lösung - verwende keinen Apache, benutze einen eingebauten Webserver (./bin/console server:run)