symfony2服务不是单身人士

Ada*_*sen 3 php symfony

我正在Symfony2上创建一个简单的pastebin Web应用程序,但我不能创建一个global/singleton /"container-scoped"服务.我可能犯了初学者的错误.

symfony2服务容器doc说服务"只创建一次,每次请求服务时返回相同的实例",但是每次请求都会调用我的服务构造函数.

我可以从日志中轻松验证这一点.我只是刷新/p/new,我看到另一个

[2012-03-31 21:32:56] app.INFO: InMemoryPasteService::__construct() [] []
Run Code Online (Sandbox Code Playgroud)

我也通过记录结果确认了

spl_object_hash($this->get('twobulb_paste_service'))
Run Code Online (Sandbox Code Playgroud)

在控制器中(并且每个请求的哈希值都不同).

环境(app/prod)似乎并不重要.

如何使用Scopes说默认范围是"容器",所以我认为这意味着应该只有一个我的服务类实例.

我开始使用Symfony标准发行版(没有供应商)版本2.0.12.

源代码:

可能类似的帖子:

有任何想法吗?

Chr*_*lsh 11

以这种方式在请求之间没有保存状态.您可以将其视为在每个请求之间重新启动PHP解释器.这就是PHP的工作原理.