2016-04-22 16 views
0

私はSymfony2テストプログラムを作っています。私はsymfonyルーティングエラーに関するいくつかのエラーに出会った。エラーは、次のとおりSymfony 2.7ルーティングエラー?

Class AppBundle\Controller\DefaultController does not exist in C:\projects\classic-symfony\src\AppBundle/Controller/ 

を("C:\projects\classic-symfony\app/config\routing.yml"からインポートされています)。

確かに私は削除されているので、DefaultController.phpC:\projects\classic-symfony\src\AppBundle/Controller/になり、代わりにToppageController.phpが配備されています。

ToppageController.phpは、非常に簡単であり、以下、

<?php 

namespace AppBundle\Controller; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; 
use Symfony\Bundle\FrameworkBundle\Controller\Controller; 

class ToppageController extends Controller 
{ 
    /** 
    * @Route("/") 
    */ 
    public function indexAction() 
    { 
     return $this->rendor('Toppage/index.html.twig');  
    } 
} 

は、なぜ、このコードは動作しませんか?これはルーティングの問題ですか?


4.23.2016 ありがとうございます。私は外出していますので、来週には挑戦して回答します。


2016年4月25日 私はこの回答に新しい問題を答えました。この問題を助けることができますか?

+2

リターンの$ this - >レンダリングの代わりthis-> rendor –

+2

ます'DefaultController'を削除(変更)しているかもしれませんが、' app/config/routing.yml'のアプリケーションにはまだ接続されていません。ファイルの内容を確認してください。次に、[manual](http://symfony.com/doc/current/book/routing.html#including-external-routing-resources)を確認してください。 – Yoshi

+0

ありがとうございます。 – Hideaki

答えて

1

このコントローラーにrouteを削除する必要があります。app/config/routing.ymlです。

その後、キャッシュをクリアすることを忘れないでください。 dev環境であなただけ実行することができます:あなたは、パラメータを追加する必要が

php app/console cache:clear 

prodで環境:

php app/console cache:clear --env=prod 
0

をご返信いただきありがとうございます。

私は次のアプリ/設定/ routing.ymlファイルを書いて、

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

これはAppBundle /コントローラー/ソースコードの注釈を参照しているようです。 は私が

php app/console cache:clear 

を実行しようとしたが、次はコンソールに表示され、

[Symfony\Component\Config\Exception\FileLoaderLoadException] 
Class AppBundle\Controller\DefaultController does not exist in C:\projects\classic-symfony\src\AppBundle/Controller/ (which is being imported from "C:\projects\classic-symfony\app/config\routing.yml"). 

[ReflectionException] 
Class AppBundle\Controller\DefaultController does not exist 

これは、キャッシュをクリアすることができないことを意味しますか?

+0

私は今もまったく同じ問題を抱えています - 確かにわかりません - 私はこのconfigogurationを読んだことがあるので、コントローラーはそのバンドルの下にある任意のサブディレクトリーに編成できます(S3.2.1を実行していますか? ) –

0

ディレクトリ内のAppBundleを検索し、App Bundleがまだ参照されているインスタンスを探します。 routing.yml/services.ymlになり、その後
PHPのbin /コンソールキャッシュを実行することができ、それらのインスタンスを取り払う:明確な--env = prodの

関連する問題