Symfony 2.7路由错误?

Symfony 2.7路由错误?

问题描述:

我正在学习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"导入)。

当然我删除了,所以写了2行,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 谢谢大家。我不在办公室,所以下周会尝试和回复。


4.25.2016 我回复了新回答的问题。你能帮助解决这个问题吗?

+2

return $ this-> render代替this-> rendor –

+2

You可能已经删除了(改变了)'DefaultController',但它可能在'app/config/routing.yml'中被连接*应用程序。检查该文件的内容。然后检查[手动](http://symfony.com/doc/current/book/routing.html#including-external-routing-resources)。 – Yoshi

+0

感谢您的回复。 – Hideaki

您需要将routeapp/config/routing.yml删除到此控制器。

之后,不要忘记清除缓存。在dev环境中,你可以运行:

php app/console cache:clear 

prod环境中,你需要添加参数:

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

谢谢您的答复。

我写的应用程序/配置/ 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

我现在也有完全相同的问题 - 我不知道我得到了它 - 从我读过的这个位的配置文件中,应该允许控制器在该指定的bundle下运行的任何子目录下运行(运行S3.2.1? ) –

在您的目录中搜索AppBundle并查找App Bundle仍在被引用的实例。摆脱那些可能在routing.yml/services.yml中的实例,然后运行
php bin/console cache:clear --env = prod