2013-04-28 240 views
0

我使用交响乐2,和IM试图创造一些能够处理计算Symfony的注入不能注入学说对象

我services.yml

services: 
    my_calculator: 
     class:  my_app\HomeBundle\Services\CalculatorService 
     arguments: [doctrine] 

CalculatorService的是如下的定制服务容器

<?php 
namespace my_app\HomeBundle\Services; 

use my_app\CategoryBundle\Entity; 

class CalculatorService 
{ 
    protected $doctrine; 

    public function __construct($doctrine) 
    { 
     $this->doctrine = $doctrine; 
    } 

    public function calculate($data=array()) 
    { 
     if(!empty($data)) 
     { 
     } 
    } 
} 

我的控制器功能

public function calculateAction() 
{ 
    $request = $this->get('request'); 

    $calculator=$this->get('my_calculator'); 
} 

我的问题是教义对象这么想的获得去构造

我试图arguments: [@doctrine]arguments: [@doctrine.orm.entity_manager]

但一旦我在YML文件

@我得到解析错误,请帮助

+0

任何错误讯息? – 2013-04-28 14:59:11

回答

3

这是实体管理器注入的工作代码示例。

services.yml

my_service: 
    class: GLS\DemoBundle\MyService 
    arguments: ["@doctrine.orm.entity_manager"] 

服务类:

class MyService 
{ 
    protected $em; 

    public function __construct(\Doctrine\ORM\EntityManager $em) 
    { 
     $this->em = $em; 
    } 

}