Symfony 2:生成的包不会找到路由

时间:2015-06-21 19:57:51

标签: php symfony

据我所知,symfony建议使用默认的AppBundle(如本页http://symfony.com/doc/current/best_practices/creating-the-project.html所述),但由于我的项目由多个独立的应用程序组成,我想将它们分成自己的应用程序。捆绑。

我正在尝试使用symfony2 console generate:bundle命令生成一个包。目录结构似乎全部到位,但是我经常收到一条错误消息,说明路由没有定义,尽管我已经定义了它。

我得到的例外:

request.ERROR:未捕获的PHP异常Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException:“在C:\ wamp \ www \ symfony \ test \ app \ cache \ prod中找不到”GET / hello / somename“的路由\ classes.php第2480行{“exception”:“[object](Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException(code:0):在C:\ wamp \中找不到\”GET / hello / somename \“的路由www \ symfony \ test \ app \ cache \ prod \ classes.php:2480,Symfony \ Component \ Routing \ Exception \ ResourceNotFoundException(code:0):at C:\ wamp \ www \ symfony \ test \ app \ cache \ prod \ appProdUrlMatcher.php:35)“} []

以下是设置:

routing.yml:

my:
    resource: "@MyBundle/Resources/config/routing.php"
    prefix:   /
app:
    resource: "@AppBundle/Controller/"
    type:     annotation

routing.php:

use Symfony\Component\Routing\RouteCollection;
use Symfony\Component\Routing\Route;

$collection = new RouteCollection();

$collection->add('my_homepage', new Route('/hello/{name}', array(
    '_controller' => 'MyBundle:Default:index',
)));

return $collection;

MyBundle /控制器/ DefaultController.php

namespace MyBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class DefaultController extends Controller
{
    public function indexAction($name)
    {
        return $this->render('MyBundle:Default:index.html.twig', array('name' => $name));
    }
}

捆绑包也在AppKernel类中正确注册。

根据我的理解,调用mydomain.local / hello / somename应该可以解决问题,但它不起作用。

P.S。我也尝试了注释方法,但它也不会工作(我得到相同的结果)

P.S。 2我知道这是一个很受欢迎的问题,但到目前为止我找到的答案似乎并没有帮助我解决这个问题。

P.S。 3默认的AppBundle使用类似的设置(但注释代替)

正常工作

1 个答案:

答案 0 :(得分:1)

调试消息显示您处于prod环境中。

您是否尝试过从dev环境访问路由:mydomain.local / app_dev.php / hello / somename或清除缓存?