【发布时间】:2014-09-19 04:19:27
【问题描述】:
我正在查看“Pimple”,这是 Fabien Potencier 的 PHP 的“简单服务容器”,我对以下评论很感兴趣:
默认情况下,每次获得服务时,Pimple 都会返回它的同一个实例。如果您希望为所有调用返回不同的实例,请使用 factory() 方法包装您的匿名函数。
根据 PHP 的执行方式,这到底是怎么可能的?每次执行 PHP 脚本时,PHP 不会给我一个新的对象实例吗?
编辑:疙瘩链接 - https://github.com/fabpot/Pimple
【问题讨论】:
-
我不确定我是否完全理解你的问题,但要明确一点 - PHP 确实 每次运行脚本时总是给你一个类的新实例,例如在网站的每个页面上实例化的登录类在您每次打开页面时都会创建一个自身的新实例。
-
文档并不暗示跨执行的持久性,而是在同一个脚本中多次调用服务创建将返回同一个对象,除非包装在工厂方法中。
-
Drat,我希望这是一些 Fabien Potencier 的魔法。
-
啊,谢谢。以为我把它断章取义了