Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Symfony "No route found"

Tags:

php

symfony

I recently built a new symfony-project with one simple controller to read in a .csv file and output it's content to a template. I generated the bundle and the controller using the console and gave the controller the route "/browse". When trying to run, (127.0.0.1:8000/browse) it tells me: "No route found for "GET/browse"".

src/OpiumBundle/Controller/BrowseController.php

<?php

namespace OpiumBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;

class BrowseController extends Controller {

    /**
     * @Route("/browse")
     */
    public function indexAction() {
        $varPath = $this->get('kernel')->getRootDir().'/../var';
        return $this->render('OpiumBundle:Browse:index.html.php', array(
            // ...
        ));
    }

}

app/config/routing.yml

opium:
    resource: "@OpiumBundle/Resources/config/routing.yml"
    prefix: /

app:
    resource: '@AppBundle/Controller/'
    type: annotation

unfortunately I can't post output from my debug:console, because my rep is too low. but there are two empty spaces where I guess they shouldn't:

debug:router

opium_homepage             ANY      ANY      ANY    /                                  
homepage                   ANY      ANY      ANY    /
like image 282
Alexander Tepe Avatar asked Oct 16 '25 21:10

Alexander Tepe


1 Answers

When using the yml option while generating a bundle, will result in a bundle routing.yml file being created with a Bundle:Default:index of bundle_homepage, and the config file being included as a resource in your app routing.yml file.

Check your src/OpiumBundle/Resources/config/routing.yml file and ensure it reads as.

opium_bundle:
    resource: '@OpiumBundle/Controller/'
    type: annotation

Alternatively edit your app/config/routing.yml file to read

opium:
    resource: "@OpiumBundle/Controller/"
    prefix: /
    type: annotation

app:
    resource: '@AppBundle/Controller/'
    type: annotation

Otherwise you will not be able to utilize annotation based routing and would need to manually add the routes to your routing.yml config files.

After making the changes clear your cache

php bin/console cache:clear

Check your routes to ensure that browse is included

php bin/console debug:router

Which should output

opium_browse_index   ANY   ANY   ANY   /browse
like image 120
Will B. Avatar answered Oct 18 '25 11:10

Will B.



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!