【问题标题】:Symfony2 new bundle routingSymfony2 新的捆绑路由
【发布时间】:2013-12-17 20:44:51
【问题描述】:

我在 src\Moda\CategoryBundle\Controller\DefaultController.php 中创建了新包

并更改路由到:

namespace Moda\CategoryBundle\Controller;

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

class DefaultController extends Controller
{
    /**
     * @Route("/show", name="_show")
     * @Template()
     */
    public function indexAction()
    {
        die('test');
        return array();
    }
}

还有我在 app/config 中的 routing.yml

moda_category:
    resource: "@ModaCategoryBundle/Controller/"
    type:     annotation
    prefix:   /

此链接无效:

localhost/web/app_dev.php/category/show

localhost/web/app_dev.php/show

你知道我做错了什么吗?

【问题讨论】:

  • 更改配置后清除缓存了吗??
  • 我建议为路由设置名称并检查它是否对路由器可见。你可以这样检查:app/console router:debug route_name
  • 我通过应用程序/控制台路由器设置名称并检查路由:调试我看到它是可见的 _show ANY ANY ANY /show 我也清除了缓存,但它仍然不起作用。有什么想法吗?

标签: php symfony routing


【解决方案1】:

我认为你应该在你的包中导入config.yml 文件。 所以而不是:

moda_category:
    resource: "@ModaCategoryBundle/Controller/"
    type:     annotation
    prefix:   /

改成:

moda_category:
    resource: "@ModaCategoryBundle/Resources/config/routing.yml"
    type:     annotation
    prefix:   /

然后在该文件中添加您需要的路线。

【讨论】:

  • 为什么要把路由写在@ModaCategoryBundle/Resources/config/routing.yml 文件中。使用注解的所有意义在于在控制器文件中配置路由。
猜你喜欢
  • 2016-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多