我已經使用generate:bundle
生成了一個包(@ShopfishApiBundle
),就像我有很多次。它已自動在AppKernel
中註冊該軟件包,並將軟件包routing.yml
的加載也添加到app/Resource/config/routing.yml
。這是一個Sylius
安裝運行中Symfony 2.3
Symfony 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
你可以發佈'AppKernel.php'的內容嗎? – Touki
你還加載了SensioFrameworkExtraBundle嗎? –
不,我確實沒有,我不知道它是需要在控制器中導入帶註釋的路由。感謝您的黃金提示! – Mirage