通过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")

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

上一篇: Detection of a bundle by AppKernel.php symfony 2.5.6

下一篇: Attempted to call method "getDoctrine" on class (Symfony)