我很好奇为什么像zend这样的所有主要PHP框架都使用setter和getter方法设置并获得基本的 $ _ SESSION ['user'] 变量?我现在正在做这件事,但我真的不知道为什么是我,除此之外,我认为现在其他人经常这样做。所以至少在理论上,似乎将这些包装成一个类只会增加更多的开销,我只是想知道这个趋势背后是否有任何推理?
答案 0 :(得分:5)
一个原因是,大多数允许您以不同的方式存储会话,如数据库。因此,无论您的会话处理方式如何,您都可以随时使用get / set。
编辑:CodeIgniter例如检查会话在被调用后是否有效(IP,浏览器)。因此,在调用 session_start()后,您无需立即调用“检查功能”。
答案 1 :(得分:2)
它可以延迟加载会话 - 通常你必须在访问任何会话变量之前运行session_start(),通过使用getter和setter,你可以按需执行此操作。