2013-06-13 118 views
2

我有这样的错误:如何正确包含包?

Bundle "AcmeOggyBundle" does not exist or it is not enabled. Maybe you forgot to add it in the registerBundles() method of your AppKernel.php file?

这是我在AppKernel.php文件registerBundles功能:

public function registerBundles() 
{ 
    $bundles = array(
     new Symfony\Bundle\FrameworkBundle\FrameworkBundle(), 
     new Symfony\Bundle\SecurityBundle\SecurityBundle(), 
     new Symfony\Bundle\TwigBundle\TwigBundle(), 
     new Symfony\Bundle\MonologBundle\MonologBundle(), 
     new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(), 
     new Symfony\Bundle\AsseticBundle\AsseticBundle(), 
     new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(), 
     new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(), 
     new JMS\AopBundle\JMSAopBundle(), 
     new JMS\DiExtraBundle\JMSDiExtraBundle($this), 
     new JMS\SecurityExtraBundle\JMSSecurityExtraBundle(), 
     new Acme\OggyBundle\OggyBundle(), 
    ); 

    if (in_array($this->getEnvironment(), array('dev', 'test'))) { 
     $bundles[] = new Acme\DemoBundle\AcmeDemoBundle(); 
     $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle(); 
     $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle(); 
     $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle(); 
    } 

    return $bundles; 
} 

我不明白...我包括捆绑new Acme\OggyBundle\OggyBundle(),却得到一个错误说我的包不包括在内!为什么?

日志文件:

 
[2013-06-13 10:46:20] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Bridge\Monolog\Handler\FirePHPHandler::onKernelResponse". [] [] 
[2013-06-13 10:46:20] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Bridge\Monolog\Handler\ChromePhpHandler::onKernelResponse". [] [] 
[2013-06-13 10:46:20] event.DEBUG: Notified event "kernel.response" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\CacheListener::onKernelResponse". [] [] 
[2013-06-13 10:46:20] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\ResponseListener::onKernelResponse". [] [] 
[2013-06-13 10:46:20] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelResponse". [] [] 
[2013-06-13 10:46:20] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\Fragment\FragmentHandler::onKernelResponse". [] [] 
[2013-06-13 10:46:20] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\Security\Http\RememberMe\ResponseListener::onKernelResponse". [] [] 
[2013-06-13 10:46:20] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelResponse". [] [] 
[2013-06-13 10:46:20] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Bundle\WebProfilerBundle\EventListener\WebDebugToolbarListener::onKernelResponse". [] [] 
[2013-06-13 10:46:20] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\StreamedResponseListener::onKernelResponse". [] [] 
[2013-06-13 10:46:20] event.DEBUG: Notified event "kernel.terminate" to listener "Symfony\Bundle\SwiftmailerBundle\EventListener\EmailSenderListener::onKernelTerminate". [] [] 
+0

您能否向我们提供您的包的目录结构和包本身的文件? (即:文件夹名称相同,包含在捆绑文件夹中) – DonCallisto

回答

1

如果捆绑软件的名称是Acme的 OggyBundle ......那么你需要注册...

// ... 
new Acme\OggyBundle\AcmeOggyBundle(), 
// ... 

...而不是

new Acme\OggyBundle\OggyBundle(), 

AcmeOggyBundle类必须在文件中...

src/Acme/OggyBundle/AcmeOggyBundle.php 

...命名空间的Acme \ OggyBundle和类名AcmeOggyBundle

<?php 

namespace Acme\OggyBundle; 

use Symfony\Component\HttpKernel\Bundle\Bundle; 

class AcmeOggyBundle extends Bundle 
{ 
} 

,如果仍没有加载你的包...确保在的src/类文件夹正在自动加载

你composer.json必须包含

"autoload": { 
     "psr-0": { "": "src/" } 
    } 

之后运行...

composer update -o 

...为了再生供应商/ autoload.php这是由作曲家产生。

+0

FatalErrorException:错误:类'Acme \ OggyBundle \ AcmeOggyBundle'未找到 –

+0

更新了我的答案。 – nifr

+0

而不是src/Acme/OggyBundle/AcmeOggyBundle.php我有src/Acme/OggyBundle/OggyBundle.php,而不是类AcmeOggyBundle extends Bundle我有类OggyBundle extends Bundle –