Symfony2无法在控制器中找到注册表服务

时间:2011-05-05 12:28:59

标签: php symfony

我有一个基本的控制器,我想在其中使用实体管理器:

<?php

namespace HanziGame\MainBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use HanziGame\MainBundle\Entity\Hanzi;

class DefaultController extends Controller
{
    public function indexAction()
    {       
    $em = $this->get('registry')->getEntityManager();

    return $this->render('HanziGameMainBundle:Default:index.html.twig');
    }
}

当我运行它时,我收到此错误:

You have requested a non-existent service "registry".
500 Internal Server Error - NonExistentServiceException

在我看来,我正在关注Symfony的书(http://symfony.com/doc/2.0/book/doctrine/orm.html),我看不出如何纠正这个问题。 我没看到什么?

2 个答案:

答案 0 :(得分:3)

在beta2中引入了注册表服务,现在在master分支中。

答案 1 :(得分:3)

更改

$em = $this->get('registry')->getEntityManager();

$em = $this->get('doctrine')->getEntityManager();

基于此版本的Symfony2为我工作:

http://symfony.com/download?v=Symfony_Standard_Vendors_2.0.0BETA1.tgz