這可能有點愚蠢的問題,但我不是來自面向對象的背景,雖然我正在閱讀和學習,我仍然在努力與一些概念。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