如何在构造函数

时间:2018-03-08 16:41:56

标签: symfony service dependency-injection factory

我有一个包含员工的文件,我想导入它并进行大量验证。

我有一项服务,它接收每个加载的员工数据,进行大量验证,根据他的姓名创建或编辑员工,并持有该实体。

与员工进行交易,然后创建或编辑员工实体并将其保留下来。

class EmployeeModel()
{
    public function __contruct(string $employeeName);

    public function setEntityManager(EntityManager $em);
}

我不想使用容器,我想要依赖注入。

如果我做了

new EmployeeModel("John Doe");

我在$ this-> em中没有entityManager,因为没有调用setter。

我可以建立工厂,但我不知道如何传递像$ employeeName这样的运行时变量。

我在工厂中找到的所有参数示例都使用定义的参数,例如在parameters.yml。

model.employee:
    class:            AppBundle\EmployeeModel
    factory_service:  factory.employee
    factory_method:   get
    arguments:
        - "%this_exists_in_parameter_yml%"

那么,最好的方法是什么呢?

基本上我需要实例化一个类,但是可以访问服务,但我不想直接使用容器。我想接受依赖注入。

顺便说一下,使用表单验证器因为我没有使用表单而无法工作。

1 个答案:

答案 0 :(得分:0)

从未在实体中使用它,但无法在实体的构造中调用EntityManager:

2>&1