2016-10-12 5 views
-1

symfony 3の新機能私はフレームワークを正常にインストールしましたが、今度は新しいコントローラ、つまり 'ToDoController'を作成してその中で関数を実行したいと考えています。symfony 3の新しいコントローラでの作業方法

これはコントローラです:私は、ブラウザで次のURLを入力するとき

<?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"; 

    } 
} 

は今、それは私に404 Not Foundエラーを与えます。

http://localhost/todolist/todos

これはこれは私が取得configフォルダ

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

でのrouting.ymlファイルであるbroweserのスクリーンショット

enter image description here

です次のページに入力すると私はちょうど私のコントローラが動作しているかどうかを確認するためのHello Worldを印刷したいhttp://localhost/todolist/

enter image description here

broweserにURLを以下に示します。助けてください。

+0

'/ todolist'はどこから来たのですか?このパスは、アクションでもコントローラでも定義されていません。ルート 'localhost/todos'は私が見る限りで動作するはずです。 – KhorneHoly

+0

あなたはコントローラをrouting.ymlに追加しましたか? app: リソース: "@ AppBundle/Controller /" タイプ:注釈 – Rooneyl

+0

todolistは私のプロジェクト名です。私はルートディレクトリのプロジェクトフォルダの名前を意味します。 –

答えて

0

別のホストにアプリケーションを持つようにApacheを設定する必要があります。あなたはちょうどあなたのApacheのディレクトリのルートにフォルダtodolistにそれをコピーしたのは何

See documentation how to do it

。しかし、に別のホスト上にある必要があります。このホストのドキュメントルートはwebフォルダでなければなりません(ただし、別の名前があり、移動する可能性があります)。

したがって、仮想ホストを設定するか、 symfonyアプリケーションのみを使用してください。localhostに設定してください。別の解決策 - Apacheを使用しないで、組み込みWebサーバーを使用する(./bin/console server:run

関連する問題