gpt4 book ai didi

symfony - Symfony2 中的服务依赖注入(inject)

转载 作者:行者123 更新时间:2023-12-04 16:00:33 26 4
gpt4 key购买 nike

我需要将我的模型从 Controller 方法中移出,因此我得到了帮助将其更改为服务。该服务本身可以工作,但我需要能够从该服务内部连接到学说和内核。起初我试图启用教义,但这会产生问题。我怎样才能使这项工作?我已关注文档并获得了此代码。我不知道为什么我得到下面的错误。提前谢谢你的帮助。

我的配置是:

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 ]

Controller 中的操作
$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

编辑,我的工作代码:

附加内核的服务类代码
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;
}

最佳答案

尝试注入(inject) @doctrine.orm.default_entity_manager .

关于symfony - Symfony2 中的服务依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9822896/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com