我正在Symfony2上创建一个简单的pastebin Web应用程序,但我不能创建一个global / singleton /“container-scoped”服务.我可能犯了初学者的错误.
The symfony2 service container doc说服务“只创建一次,每次请求服务时返回相同的实例”,但我的服务构造函数在每次请求时都被调用.
我可以从日志中轻松验证这一点.我只是刷新/ p / new而我看到了另一个
[2012-03-31 21:32:56] app.INFO: InMemoryPasteService::__construct() [] []
我也通过记录结果确认了
spl_object_hash($this->get('twobulb_paste_service'))
在控制器中(并且每个请求的哈希值都不同).
环境(app / prod)似乎并不重要.
How to work with Scopes说默认范围是“容器”,所以我认为这意味着应该只有一个我的服务类实例.
我开始使用Symfony标准发行版(没有供应商)版本2.0.12.
源代码:
> my service,my service config
> a controller using my service
可能类似的帖子:
> https://stackoverflow.com/questions/8873824/symfony2-service-definition-issue
> Symfony2 Service Container – does get() return objects by reference or copy?
> How Service Container create object declared in services.yml?
有任何想法吗?
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。