2016-04-28 93 views
1

我已经开始使用Symfony2教程,并使用Intellij Idea创建了一个默认项目。Symfony2:未找到控制器类(默认情况下为生成的文件)

当我尝试运行该项目,我收到以下错误:

Fatal error: Class 'Symfony\Bundle\FrameworkBundle\Controller\Controller' not found in 
C:\Users\[...]\SymfonyTraining\src\AppBundle\Controller\DefaultController.php 
on line 10 

它涉及到以下文件:

<?php 

namespace AppBundle\Controller; 

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

class DefaultController extends Controller 
{ 
    /** 
    * @Route("/", name="homepage") 
    */ 
    public function indexAction(Request $request) 
    { 
     // replace this example code with whatever you need 
     return $this->render('default/index.html.twig', [ 
      'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..'), 
     ]); 
    } 
} 

?> 

所有我找到的答案是关于失踪的命名空间或使用,或错别字,但似乎并不是这样。

有什么想法?

(也许它只是一些很明显我没有看到)

+1

你怎么跑这个项目?您是否正在使用一些IDE函数来“运行项目”,以便在浏览器中打开该特定文件,或者您是否正在使用某些正确提供app.php/app_dev.php的Web服务器? – JimL

+3

您是否已经安装了作曲家,以便自动加载器准备好? – olibiaz

+0

我使用IDE的选项“运行项目”,因为我在服务器上遇到了问题,而且我想一步一步去那里。 我安装了作曲家,有什么具体的要做的自动装载机? – DarksteelPenguin

回答

1

您需要更新自动装载机。您可以使用“转储自动加载”要做到这一点,而不必去通过安装或更新 因此,尝试执行这个命令:

composer dump-autoload

+0

你的意思是在控制台?是不是我应该先安装,因为我得到一个“命令未知错误”。 – DarksteelPenguin

+1

命令未知错误,意味着作曲家没有定义全局,请尝试:php composer.phar dump-autoload。但请检查php是否定义在环境变量中,并检查项目根目录中是否存在composer.phar。 –

+0

谢谢,该命令可以工作并显示“生成autoload文件”。然而,当我运行该项目时,仍然出现相同的错误(“Class/Controller not found”) – DarksteelPenguin

相关问题