Symfony routing through user kit only works in console mode

I am new to symfony but not PHP. I just can't understand why I can't get the initial route to work from a custom package, but it seems to work with console output. When I execute a route in my web browser, it will always redirect the route to / from the AppBundle, i.e. to the default Symfony welcome page, even if the AppBundle has been removed from the registerBundles() function in AppKernal.php. I can confirm this because if I delete the AppBundle directory from / src, I get the following error log:

 [2016-06-22 19:07:57] request.INFO: Matched route "homepage". {"route_parameters":{"_controller":"AppBundle\\Controller\\DefaultController::indexAction","_route":"homepage"},"request_uri":"http://bvd-v3.dev/"} [] [2016-06-22 19:07:57] security.INFO: Populated the TokenStorage with an anonymous Token. [] [] [2016-06-22 19:07:57] request.CRITICAL: Uncaught PHP Exception InvalidArgumentException: "Class "AppBundle\Controller\DefaultController" does not exist." at /Users/apple/projects/mentel/bvd-v3/var/cache/prod/classes.php line 2498 {"exception":"[object] (InvalidArgumentException(code: 0): Class \"AppBundle\\Controller\\DefaultController\" does not exist. at /Users/apple/projects/mentel/bvd-v3/var/cache/prod/classes.php:2498)"} [] 

However, if I call php bin/console router:match /

Output:

 +--------------+---------------------------------------------------------+ | Property | Value | +--------------+---------------------------------------------------------+ | Route Name | homepage | | Path | / | | Path Regex | #^/$#s | | Host | ANY | | Host Regex | | | Scheme | ANY | | Method | ANY | | Requirements | NO CUSTOM | | Class | Symfony\Component\Routing\Route | | Defaults | _controller: MentelBundle:Index:index | | Options | compiler_class: Symfony\Component\Routing\RouteCompiler | +--------------+---------------------------------------------------------+ 

If I call php bin/console debug:router

Output:

  -------------------------- -------- -------- ------ ----------------------------------- Name Method Scheme Host Path -------------------------- -------- -------- ------ ----------------------------------- _wdt ANY ANY ANY /_wdt/{token} _profiler_home ANY ANY ANY /_profiler/ _profiler_search ANY ANY ANY /_profiler/search _profiler_search_bar ANY ANY ANY /_profiler/search_bar _profiler_info ANY ANY ANY /_profiler/info/{about} _profiler_phpinfo ANY ANY ANY /_profiler/phpinfo _profiler_search_results ANY ANY ANY /_profiler/{token}/search/results _profiler ANY ANY ANY /_profiler/{token} _profiler_router ANY ANY ANY /_profiler/{token}/router _profiler_exception ANY ANY ANY /_profiler/{token}/exception _profiler_exception_css ANY ANY ANY /_profiler/{token}/exception.css _twig_error_test ANY ANY ANY /_error/{code}.{_format} homepage ANY ANY ANY / 

The contents of routing.yml:

 mentel: resource: "@MentelBundle/Controller/" type: annotation 

The contents of routing_dev.yml:

 _wdt: resource: "@WebProfilerBundle/Resources/config/routing/wdt.xml" prefix: /_wdt _profiler: resource: "@WebProfilerBundle/Resources/config/routing/profiler.xml" prefix: /_profiler _errors: resource: "@TwigBundle/Resources/config/routing/errors.xml" prefix: /_error _main: resource: routing.yml 

The contents of registerBundles() in /app/AppKernal.php:

 public function registerBundles() { $bundles = [ 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 Doctrine\Bundle\DoctrineBundle\DoctrineBundle(), new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(), new BVD\MentelBundle\MentelBundle(), ]; if (in_array($this->getEnvironment(), ['dev', 'test'], true)) { $bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle(); $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle(); $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle(); $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle(); } return $bundles; } 

Controller Content:

 <?php namespace BVD\MentelBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; class IndexController extends Controller { /** * @Route("/", name="homepage") */ public function indexAction() { die('?'); return $this->render('@mentel/pages/home.html.twig', array( // ... )); } } 

Thanks for reading my question, really appreciate any help you can offer.

+5
source share
1 answer

Run:

 php bin/console cache:clear --env=prod 
0
source

All Articles