如何正确包含包?
我有这个错误:
捆绑“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