通过AppKernel.php检测一个bundle symfony 2.5.6
我遇到了AppKernel和bundle检测器的问题。
我在2.5.6工作
确实,我有这个错误:Bundle“mainBundle”不存在或者未启用。 也许你忘了将它添加到你的AppKernel.php文件的registerBundles()方法中?
但是这里是我的AppKernel.php:
<?php
use SymfonyComponentHttpKernelKernel;
use SymfonyComponentConfigLoaderLoaderInterface;
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
new SymfonyBundleFrameworkBundleFrameworkBundle(),
new SymfonyBundleSecurityBundleSecurityBundle(),
new SymfonyBundleTwigBundleTwigBundle(),
new SymfonyBundleMonologBundleMonologBundle(),
new SymfonyBundleSwiftmailerBundleSwiftmailerBundle(),
new SymfonyBundleAsseticBundleAsseticBundle(),
new DoctrineBundleDoctrineBundleDoctrineBundle(),
new SensioBundleFrameworkExtraBundleSensioFrameworkExtraBundle(),
new theiamainBundletheiamainBundle(),
);
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
//$bundles[] = new AcmeDemoBundleAcmeDemoBundle();
$bundles[] = new SymfonyBundleWebProfilerBundleWebProfilerBundle();
$bundles[] = new SensioBundleDistributionBundleSensioDistributionBundle();
$bundles[] = new SensioBundleGeneratorBundleSensioGeneratorBundle();
}
return $bundles;
}
public function registerContainerConfiguration(LoaderInterface $loader)
{
$loader->load(__DIR__.'/config/config_'.$this->getEnvironment().'.yml');
}
}
当我尝试将所谓的bundle的routing.yml链接到app / config / routing.yml或routing_dev.yml时,我遇到了这个问题。
要做到这一点,我把它添加到app /.../ routing.yml中
t:
resource: "@theiamainBundle/Resources/config/routing.yml"
prefix: /
错误跟踪:
在第2359行的kernel.root_dir / bootstrap.php.cache中 - public function getBundle($ name,$ first = true){if(!isset($ this-> bundleMap [$ name])){throw new InvalidArgumentException(sprintf ('Bundle“%s”不存在或者未启用,也许你忘了将它添加到%s.php文件的registerBundles()方法中?',$ name,get_class($ this))); } if(true === $ first){return $ this-> bundleMap [$ name] [0];} 在kernel.root_dir / cache / dev / classes.php中的内核 - > getBundle('mainBundle',false)在第2332行的+在ControllerNameParser - > parse('mainBundle:security:login')中kernel.root_dir / cache / dev /classes.php 2354行+ ControllerResolver - > createController('mainBundle:security:login')in kernel.root_dir / cache / dev / classes.php at 2047+ at ControllerResolver - > getController(object(Request))in /opt/lampp/htdocs/my_projects/Symphony_projects/test/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Controller/TraceableControllerResolver.php在TraceableControllerResolver - > getController(object(Request))中的第46行。第2969行的HttpKernel处的root_dir / bootstrap.php.cache - > HttpKernel处的kernel.root_dir / bootstrap.php.cache处的handleRaw(object(Request),'1') - > handle(object(Request) ,'1',true)在kernel.root_dir / bootstrap.php.cache的第3087行+ ContainerAwareHttpKernel - > handle(object(Request),'1',true)in kernel.root_dir / bootstrap.php.cach e在2337行+在Kernel - > handle(object(Request))在/opt/lampp/htdocs/my_projects/Symphony_projects/test/web/app_dev.php在28行
这里是日志跟踪
INFO - 匹配路由“login_route”(参数:“_controller”:“mainBundle:security:login”,“_route”:“login_route”)INFO - 使用匿名令牌填充SecurityContext DEBUG - 向侦听器通知事件“kernel.request” Symfony的分量 HttpKernel 事件监听 ErrorsLoggerListener :: injectLogger”。 DEBUG - 通知事件“kernel.request”给监听器“Symfony Component HttpKernel EventListener ErrorsLoggerListener :: injectLogger”。 DEBUG - 通知事件“kernel.request”给监听器“Symfony Component HttpKernel EventListener ErrorsLoggerListener :: injectLogger”。 DEBUG - 通知事件“kernel.request”给监听器“Symfony Component HttpKernel EventListener DebugHandlersListener :: configure”。 DEBUG - 通知事件“kernel.request”给监听器“Symfony Component HttpKernel EventListener ProfilerListener :: onKernelRequest”。 DEBUG - 通知事件“kernel.request”给监听器“Symfony Bundle FrameworkBundle EventListener SessionListener :: onKernelRequest”。 DEBUG - 通知事件“kernel.request”给监听器“Symfony Component HttpKernel EventListener FragmentListener :: onKernelRequest”。 DEBUG - 通知事件“kernel.request”给监听器“Symfony Component HttpKernel EventListener RouterListener :: onKernelRequest”。 DEBUG - 通知事件“kernel.request”给监听器“Symfony Component HttpKernel EventListener LocaleListener :: onKernelRequest”。 DEBUG - 通知事件“kernel.request”给侦听器“Symfony Component Security Http Firewall :: onKernelRequest”。 DEBUG - 通知事件“kernel.request”给监听器“Symfony Bundle AsseticBundle EventListener RequestListener :: onKernelReque st”。
CRITICAL - 未捕获的PHP异常InvalidArgumentException:“Bundle”mainBundle“不存在或未启用,也许您忘记将其添加到AppKernel.php文件的registerBundles()方法中? 在/opt/lampp/htdocs/my_projects/Symphony_projects/test/app/bootstrap.php.cache line 2359
DEBUG - 通知事件“kernel.request”给监听器“Symfony Component HttpKernel EventListener ErrorsLoggerListener :: injectLogger”。 DEBUG - 通知事件“kernel.request”给监听器“Symfony Component HttpKernel EventListener ErrorsLoggerListener :: injectLogger”。 DEBUG - 通知事件“kernel.request”给监听器“Symfony Component HttpKernel EventListener ErrorsLoggerListener :: injectLogger”。 DEBUG - 通知事件“kernel.request”给监听器“Symfony Component HttpKernel EventListener DebugHandlersListener :: configure”。 DEBUG - 通知事件“kernel.request”给监听器“Symfony Component HttpKernel EventListener ProfilerListener :: onKernelRequest”。 DEBUG - 通知事件“kernel.request”给监听器“Symfony Bundle FrameworkBundle EventListener SessionListener :: onKernelRequest”。 DEBUG - 通知事件“kernel.request”给监听器“Symfony Component HttpKernel EventListener FragmentListener :: onKernelRequest”。 DEBUG - 通知事件“kernel.request”给监听器“Symfony Component HttpKernel EventListener RouterListener :: onKernelRequest”。 DEBUG - 通知事件“kernel.request”给监听器“Symfony Component HttpKernel EventListener LocaleListener :: onKernelRequest”。 DEBUG - 通知事件“kernel.request”给侦听器“Symfony Component Security Http Firewall :: onKernelRequest”。 DEBUG - 通知事件“kernel.request”给监听器“Symfony Bundle AsseticBundle EventListener RequestListener :: onKernelRequest”。 调试 - 通知事件“kernel.controller”监听器“Symfony Bundle FrameworkBundle DataCollector RouterDataCollector :: onKernelController”。 DEBUG - 通知事件“kernel.controller”监听器“Symfony Component HttpKernel DataCollector RequestDataCollector :: onKernelController”。 DEBUG - 通知事件“kernel.controller”为侦听器“Sensio Bundle FrameworkExtraBundle EventListener ControllerListener :: onKernelController”。 DEBUG - 通知事件“kernel.controller”以监听器“Sensio Bundle FrameworkExtraBundle EventListener ParamConverterListener :: onKernelController”。 DEBUG - 通知事件“kernel.controller”为侦听器“Sensio Bundle FrameworkExtraBundle EventListener HttpCacheListener :: onKernelController”。 调试 - 通知事件“kernel.controller”监听器“Sensio Bundle FrameworkExtraBundle EventListener SecurityListener :: onKernelController”。 DEBUG - 通知事件“kernel.controller”为侦听器“Sensio Bundle FrameworkExtraBundle EventListener TemplateListener :: onKernelController”。
这里是堆栈跟踪:
[1] InvalidArgumentException:Bundle“mainBundle”不存在或者未启用。 也许你忘了将它添加到你的AppKernel.php文件的registerBundles()方法中? 在/opt/lampp/htdocs/my_projects/Symphony_projects/test/app/bootstrap.php.cache line 2359中的n / a处
at SymfonyComponentHttpKernelKernel->getBundle('mainBundle', false)
in /opt/lampp/htdocs/my_projects/Symphony_projects/test/app/cache/dev/classes.php line 2332
at SymfonyBundleFrameworkBundleControllerControllerNameParser->parse('mainBundle:security:login')
in /opt/lampp/htdocs/my_projects/Symphony_projects/test/app/cache/dev/classes.php line 2384
at SymfonyBundleFrameworkBundleControllerControllerResolver->createController('mainBundle:security:login')
in /opt/lampp/htdocs/my_projects/Symphony_projects/test/app/cache/dev/classes.php line 2047
at SymfonyComponentHttpKernelControllerControllerResolver->getController(object(Request))
in /opt/lampp/htdocs/my_projects/Symphony_projects/test/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Controller/TraceableControllerResolver.php line 46
at SymfonyComponentHttpKernelControllerTraceableControllerResolver->getController(object(Request))
in /opt/lampp/htdocs/my_projects/Symphony_projects/test/app/bootstrap.php.cache line 2969
at SymfonyComponentHttpKernelHttpKernel->handleRaw(object(Request), '1')
in /opt/lampp/htdocs/my_projects/Symphony_projects/test/app/bootstrap.php.cache line 2938
at SymfonyComponentHttpKernelHttpKernel->handle(object(Request), '1', true)
in /opt/lampp/htdocs/my_projects/Symphony_projects/test/app/bootstrap.php.cache line 3087
at SymfonyComponentHttpKernelDependencyInjectionContainerAwareHttpKernel->handle(object(Request), '1', true)
in /opt/lampp/htdocs/my_projects/Symphony_projects/test/app/bootstrap.php.cache line 2337
at SymfonyComponentHttpKernelKernel->handle(object(Request))
in /opt/lampp/htdocs/my_projects/Symphony_projects/test/web/app_dev.php line 28
你知道它可能来自哪里吗? 你需要更多的文件来帮助我吗?
在指定控制器时,您的路由似乎具有对“mainBundle”的引用,该控制器应该是“theiamainBundle”:
Matched route "login_route" (parameters: "_controller": "mainBundle:security:login", "_route": "login_route")
上一篇: Detection of a bundle by AppKernel.php symfony 2.5.6
下一篇: Attempted to call method "getDoctrine" on class (Symfony)