如何正确包含包?

我有这个错误:

捆绑“AcmeOggyBundle”不存在或未启用。 也许你忘了将它添加到你的AppKernel.php文件的registerBundles()方法中?

这是我在AppKernel.php文件中的registerBundles函数:

public function registerBundles()
{
    $bundles = array(
        new SymfonyBundleFrameworkBundleFrameworkBundle(),
        new SymfonyBundleSecurityBundleSecurityBundle(),
        new SymfonyBundleTwigBundleTwigBundle(),
        new SymfonyBundleMonologBundleMonologBundle(),
        new SymfonyBundleSwiftmailerBundleSwiftmailerBundle(),
        new SymfonyBundleAsseticBundleAsseticBundle(),
        new DoctrineBundleDoctrineBundleDoctrineBundle(),
        new SensioBundleFrameworkExtraBundleSensioFrameworkExtraBundle(),
        new JMSAopBundleJMSAopBundle(),
        new JMSDiExtraBundleJMSDiExtraBundle($this),
        new JMSSecurityExtraBundleJMSSecurityExtraBundle(),
        new AcmeOggyBundleOggyBundle(),
    );

    if (in_array($this->getEnvironment(), array('dev', 'test'))) {
        $bundles[] = new AcmeDemoBundleAcmeDemoBundle();
        $bundles[] = new SymfonyBundleWebProfilerBundleWebProfilerBundle();
        $bundles[] = new SensioBundleDistributionBundleSensioDistributionBundle();
        $bundles[] = new SensioBundleGeneratorBundleSensioGeneratorBundle();
    }

    return $bundles;
}

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

日志文件:

[2013-06-13 10:46:20] event.DEBUG: Notified event "kernel.response" to listener "SymfonyBridgeMonologHandlerFirePHPHandler::onKernelResponse". [] []
[2013-06-13 10:46:20] event.DEBUG: Notified event "kernel.response" to listener "SymfonyBridgeMonologHandlerChromePhpHandler::onKernelResponse". [] []
[2013-06-13 10:46:20] event.DEBUG: Notified event "kernel.response" to listener "SensioBundleFrameworkExtraBundleEventListenerCacheListener::onKernelResponse". [] []
[2013-06-13 10:46:20] event.DEBUG: Notified event "kernel.response" to listener "SymfonyComponentHttpKernelEventListenerResponseListener::onKernelResponse". [] []
[2013-06-13 10:46:20] event.DEBUG: Notified event "kernel.response" to listener "SymfonyComponentHttpKernelEventListenerLocaleListener::onKernelResponse". [] []
[2013-06-13 10:46:20] event.DEBUG: Notified event "kernel.response" to listener "SymfonyComponentHttpKernelFragmentFragmentHandler::onKernelResponse". [] []
[2013-06-13 10:46:20] event.DEBUG: Notified event "kernel.response" to listener "SymfonyComponentSecurityHttpRememberMeResponseListener::onKernelResponse". [] []
[2013-06-13 10:46:20] event.DEBUG: Notified event "kernel.response" to listener "SymfonyComponentHttpKernelEventListenerProfilerListener::onKernelResponse". [] []
[2013-06-13 10:46:20] event.DEBUG: Notified event "kernel.response" to listener "SymfonyBundleWebProfilerBundleEventListenerWebDebugToolbarListener::onKernelResponse". [] []
[2013-06-13 10:46:20] event.DEBUG: Notified event "kernel.response" to listener "SymfonyComponentHttpKernelEventListenerStreamedResponseListener::onKernelResponse". [] []
[2013-06-13 10:46:20] event.DEBUG: Notified event "kernel.terminate" to listener "SymfonyBundleSwiftmailerBundleEventListenerEmailSenderListener::onKernelTerminate". [] []

如果您的软件包名称是Acme OggyBundle ...那么您需要注册...

// ...
new AcmeOggyBundleAcmeOggyBundle(), 
// ...

... 代替

new AcmeOggyBundleOggyBundle(),

AcmeOggyBundle类必须位于文件中...

src/Acme/OggyBundle/AcmeOggyBundle.php

...使用命名空间Acme OggyBundle和classname AcmeOggyBundle

<?php

namespace AcmeOggyBundle;

use SymfonyComponentHttpKernelBundleBundle;

class AcmeOggyBundle extends Bundle
{
}

如果你的包仍然没有加载...请确保src /文件夹中的类是自动加载的

你的composer.json必须包含

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

之后运行...

composer update -o

...为了重新生成作曲家生成的vendor / autoload.php

链接地址: http://www.djcxy.com/p/53995.html

上一篇: How to include bundle correctly?

下一篇: Symfony2 PHP 5.4.4 Cannot change the ID of an active session