我的网站根据用户选择的位置具有不同的功能。每个位置都有该位置唯一的事件。这些事件是用户访问该网站的主要原因。
除非为用户选择了位置,否则网站的某些关键区域无法导航。因此,必须假定位置,直到所选位置已知 - 我计划使用一些基本的GeoIP查找。
所以要求基本归结为:
我可以想到一些方法来解决这个问题(Zend_Registry,自定义Zend_Session_Namespace等),但我很好奇是否没有更广泛确定的策略来解决这类问题。
答案 0 :(得分:1)
我认为这类似于使用i18n设置网站的语言,所以我会以类似的方式实现。 Id可能将位置存储在会话值中,或者如果用户已注册,则显然可以将其保存到其设置/配置文件中,无论使用何种后端存储机制。您也可以将此位置添加到路径参数中,这通常是通过i18n完成的,但考虑到地理位置而不仅仅是区域设置,这可能会变得混乱。
答案 1 :(得分:1)
我认为Zend_Registry
可能不符合您的需求,因为它只会在单个请求期间在整个应用程序中提供位置设置,但不会保留。
如果您需要在请求之间保持这些设置,那么您最好(也很可能)的选择是Zend_Session
。
对于#1,我建议使用控制器插件。