Symfony 2 / Sylius - 在AppKernel中加载了Bundle但无法加载资源

时间:2014-04-04 14:56:06

标签: symfony annotations sylius

我使用@ShopfishApiBundle生成了一个包(generate:bundle),就像我有很多次一样。它已在AppKernel中自动注册了该捆绑包,并且还将捆绑包的routing.yml加载到app/Resource/config/routing.yml。这是在运行Sylius

Symfony 2.3安装中

@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.

在另一个Symfony2(版本2.4)应用程序中,我创建了一个类似的包,这个工作没有错误,我在思考Sylius的一些事情。你知道我可以在哪里解决这个问题吗?

注意:我做了一点测试,看看一个直接无注释的代码片段是否有效,这似乎有效。虽然我想使用FOS Rest软件包,但使用Annotations for Routing。

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

1 个答案:

答案 0 :(得分:6)

我没有在SensionFrameworkExtraBundle注册基本AppKernel.php

new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle()

谢谢,@ pazi!