具体来说,我需要创建一个用于缓存数据的数组变量,但我不想使用ZF2缓存适配器。
我试图创建一个可调用的类,用于实例化我的类的对象,该类包含用于设置和从数组中获取值的方法,该数组也被定义为该类的属性。据我所知,服务管理器将所有服务视为默认共享,当我第一次通过服务管理器方法获取服务时,应该只创建一个类。但这不起作用,如果我在Controller类中的不同操作中获得该服务,这是我需要做的。那么,我该如何实现这种效果呢?创建一个可在应用程序范围内使用的对象?
答案 0 :(得分:0)
管理购物车时遇到了这种问题。
我的购物车是由CartManager建模的,这是一个用户(会话)的唯一实例,直到paiement(购物车保存在数据库中)。
我将CartManager注册为服务来构建第一个实例,这个实例是在MvcEvent::EVENT_ROUTE
附加的事件处理程序中构建的,一旦构建,我用我的实例覆盖CartManager服务,无论我在哪里调用服务,我的第一个实例是服务。
然后我将我的实例持有(会话或数据库)在MvcEvent::EVENT_FINISH
上附加的其他事件处理程序中。
所有事件处理程序都附加在Module :: onBoostrap()
中