Oop 在return语句中创建的对象上的依赖项注入

Oop 在return语句中创建的对象上的依赖项注入,oop,dependency-injection,Oop,Dependency Injection,以PHP为例,如果我有这样一个函数: public function foo() { return new CustomException($this->message); } 这里可以进行依赖注入吗?在调用函数之前不会创建CustomException,因此不能作为参数传递 编辑:对不起,如果我没有解释清楚的话。我的问题是:当调用函数后才创建对象时,如何将CustomException作为依赖项注入此类 我不确定我是否理解你的问题。你想在这里实现什么?如果这只是关于传递消息

以PHP为例,如果我有这样一个函数:

public function foo() {

    return new CustomException($this->message);

}
这里可以进行依赖注入吗?在调用函数之前不会创建CustomException,因此不能作为参数传递


编辑:对不起,如果我没有解释清楚的话。我的问题是:当调用函数后才创建对象时,如何将CustomException作为依赖项注入此类

我不确定我是否理解你的问题。你想在这里实现什么?如果这只是关于传递消息,您可以通过构造函数注入在类中设置它。@Shinosha:问题是我不想在其中硬编码新的CustomException,但如何使用DI来构造它?请记住,福可能永远不会被叫来。对不起,但我还是不明白你在问什么。异常只是一个对象。直到它被抛出,它才被抛出。这意味着,您只需创建实例并根据需要将其传递给使用者。如果要推迟异常的创建,请为其创建一个工厂并注入该工厂。在具有匿名函数的语言中,您还可以将新关键字包装到函数中,然后传递该关键字。