[英]Passing class Instances and other data between pages in PHP
我一直在研究在PHP頁面之間具有持久數據可用的問題。 這尤其適用於已在一頁中設置的對象,以后需要訪問。 看來這比我想象的要困難得多,但是可以用多種方法來完成,盡管它們似乎都很難使用,尤其是當數據變得非常復雜時:
這些似乎都很費力,因為它們主要依賴於必須解構現有數據結構,然后在下一頁重新構建它。 我認為這是為了通過關閉頁面后立即從一頁清除數據並以“干凈的狀態”開始減少PHP服務器的內存需求。
有沒有更直接的方法可以在PHP頁面之間傳遞較大的數據結構?
非常感謝,Kw
我認為這是為了通過關閉后從一頁清除數據來減少PHP服務器的內存需求。
不,這不是因為內存效率問題。 這是因為HTTP協議是無狀態的。 每個請求必須包含實現它所必需的所有信息。
您提出的方案的反例:
讓我們假設愛麗絲訪問頁面A,創建了一些對象,並且希望它們在頁面B中可用。
您跟蹤對頁面B的訪問。
2.1。 但這不是愛麗絲,是鮑勃。 您如何確定要顯示的對象以及從何處獲取對象?
2.2。 再次是 Alice,但是請求從您的1000服務器場到達了另一台計算機。 自然,您沒有原始的PHP對象。 你現在做什么?
如果使用$ _GET或$ _POST,則僅限於非敏感數據,並且會將對象公開給任何用戶。 你不要那樣
Cookie的大小受到限制
Cookie通常限制為4096個字節,並且每個站點最多只能存儲20個Cookie。
在請求之間(對於同一用戶)在對象之間持久保存對象的最佳方法是使用會話。 已經有用於memcached,redis,mysql等的會話保存處理程序。如果需要自定義,也可以編寫自己的會話保存處理程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.