我正在使用symphony 2,我正在尝试创建一个处理某些计算的自定义服务容器
我的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 :(得分: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;
}
}