Service DependencyInjection в Symfony2

Мне нужно было перенести мою модель из метода контроллера, поэтому мне помогли изменить ее на службу. Служба сама по себе работает, но мне нужно иметь возможность подключаться к доктрине и ядру изнутри этой службы. Сначала я попытался включить доктрину, но это создало проблемы. Как я могу заставить это работать? Я следил за документами и получил этот код. Я понятия не имею, почему я получил ошибку ниже. Спасибо за вашу помощь заранее.

Моя конфигурация:

CSVImport.php

namespace Tools\TFIBundle\Model;

use Doctrine\ORM\EntityManager;

class CSVImport  {
    protected $em;

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

app/config/config.yml

services:
    csvimport:
        class: Tools\TFIBundle\Model\CSVImport
        arguments: [ @doctrine.orm.entity_manager ]

действие в контроллере

$cvsimport = $this->get('csvimport');

МОЯ ОШИБКА

Catchable Fatal Error: Argument 1 passed to 
Tools\TFIBundle\Model\CSVImport::__construct() must be an instance of 
Doctrine\ORM\EntityManager, none given, called in 
.../Tools/TFIBundle/Controller/DefaultController.php on line 58 and defined in 
.../Tools/TFIBundle/Model/CSVImport.php line 12

EDIT, мой рабочий код:

код класса обслуживания с К нему прикреплено ядро ​​

namespace Tools\TFIBundle\Model;

use Doctrine\ORM\EntityManager,
    AppKernel;

class CSVImport {
    protected $em;
    protected $kernel;
    protected $cacheDir;

    public function __construct( EntityManager $em, AppKernel $k ) {
        $this->em = $em;
        $this->kernel = $k;
}
6
задан Paweł Madej 22 March 2012 в 17:18
поделиться