2014-04-04 139 views
3

我已經使用generate:bundle生成了一個包(@ShopfishApiBundle),就像我有很多次。它已自動在AppKernel中註冊該軟件包,並將軟件包routing.yml的加載也添加到app/Resource/config/routing.yml。這是一個Sylius安裝運行中Symfony 2.3Symfony 2/Sylius - Bundle加載到AppKernel中,但無法加載資源

@ShopfishApiBundle/Resource/config/routing.yml看起來是這樣的:

shopfish_api: 
    resource: "@ShopfishApiBundle/Controller/ProductController.php" 
    type:  annotation 

產品控制器看起來是這樣的:

namespace Shopfish\Bundle\ApiBundle\Controller; 

use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template; 

/** 
* @Route("/api") 
*/  
class ProductController extends Controller 
{ 
    /** 
    * @Route("/products") 
    * @Method({"GET"}) 
    * 
    * @Rest\View 
    */ 
    public function allAction() 
    { 
     $products = array(); 

     return array('products' => $products); 
    } 
} 

加載任何頁面瞬間產生了以下異常:

FileLoaderLoadException: Cannot load resource "@ShopfishApiBundle/Controller/". Make sure the "ShopfishApiBundle" bundle is correctly registered and loaded in the application kernel class. 

In另一個Symfony2(版本2.4)的應用程序,我做了一個類似的包,這工作沒有錯誤,我想在Sylius的東西混淆了這一點。你知道我可以在哪裏解決這個問題嗎?

注:我做了一個小測試,看看是否有直接無註釋代碼片段工作,這似乎工作。儘管我想使用FOS Rest捆綁軟件,但使用了路由註釋。

sf_api_controller: 
    pattern: /no-annotation-test 
    defaults: 
     _controller: ShopfishApiBundle:Product:all 
+0

你可以發佈'AppKernel.php'的內容嗎? – Touki

+0

你還加載了SensioFrameworkExtraBundle嗎? –

+0

不,我確實沒有,我不知道它是需要在控制器中導入帶註釋的路由。感謝您的黃金提示! – Mirage

回答

6

我從來沒有在我的AppKernel.php註冊的基本SensionFrameworkExtraBundle

new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle()

謝謝,@pazi!