这可能有点愚蠢的问题,但我不是来自面向对象的背景,虽然我正在阅读和学习,我仍然在努力与一些概念。PHP如何跟踪创建的对象?
现在我正在使用PHP 5.3并使用几个不同的对象类设计一个相当简单的登录:定义用户的用户。启动和维护会话数据以及是否有人登录的会话,以及执行查询的数据库。
所以,当我的脚本运行时,我的会话对象被实例化,等等......这是我的问题。当我从一个页面移动到下一个页面时,该对象是如何跟踪的?或者更确切地说,我的问题是,PHP如何知道与我的登录相关的对象是我的,而不是其他人登录该网站的?
我知道如果我以非OOP方式进行此操作,我只需在每个页面上检查会话cookie并以这种方式检查我的数据,这是我的大脑可以处理的。但是,在何处以及如何跟踪对象数据。
EG: 在每一页我想检查是否有人登录我参考$ session-> is_logged_in()等is_logged_in检查一个私人变量名是真或假。 这里没有检查cookie,这意味着这个对象仍然存在,并且,当它不断询问一个存储的变量时,实例必须坚持有用......但PHP,服务器,无论如何与那个实例绑定反对那个用户?如果所有这些对象都在服务器上浮动,直到我销毁它们,那么对象所使用的内存不会很多吗?
正如我刚开始说的那样,这可能是一个非常基本的基金问题,但我还没有找到我的灵感来源,我可能会回到更简单的PHP。
谢谢戈登,我想我的大脑的一部分仍然觉得很难接受对象的角色。我回去检查代码以遵循其逻辑。 我很欣赏会话会做什么,但我忘记了我的__construct方法,它调用另一个函数来检查我的会话是否设置。 所以是的,对象正在做我在其他地方做的事情,只是以不同的方式完成,也就是说,只需加载包含文件然后填充会话数据即可重新创建对象。 感谢您让我通过我所说的来思考,现在我对它有了更好的把握。 – TooManyCooks 2010-03-09 15:14:03