【发布时间】:2014-08-06 00:25:10
【问题描述】:
为什么每次请求后都会调用我的服务的构造函数?我只希望它在我的应用程序的生命周期内执行一次。
我希望我的服务的构造函数在我的应用程序的生命周期内只运行一次,因为the documentation 指出:
$mailer = $this->get('my_mailer');
作为额外的好处,Mailer 服务只创建一次,并且 每次请求服务时都会返回相同的实例。这是 几乎总是你需要的行为(它更灵活, 强大),但我们稍后将了解如何配置服务 有多个实例。
但是,当我调用该服务时,我得到了一个新实例。每个请求都会发生这种情况。
可能的类似帖子
【问题讨论】:
-
您的邮件程序是否在
scope: request中定义?如果是这样,它将为每个请求(主请求和子请求)创建。因此,如果您在request范围内定义了服务,并且您在视图中的某处有 {{ render(controller('...')) }},它实际上将被实例化两次(假设在两个请求处理中都需要它进程)。 -
@Igor 不。我认为问题在于我有 Java 背景。我希望类在请求之间存在于内存中。