2016-04-28 97 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

相關問題