3
A
回答
9
在PHP幾乎所有被實例化在每個頁面命中。如果你想保持狀態,你有多種選擇:
- 對於用戶特定的數據,你可以把它放在一個Cookie(不是出於安全原因建議);
- 在會話中放置用戶特定的數據,這基本上意味着將它寫入文件並在每次打擊時從文件加載它;
- 以某種形式的持久性存儲(如文件或數據庫表)存儲它;
- 將其存儲在某種緩存中(例如memcached)。
你使用哪一個取決於諸如數據是全局性的,用戶特定的等等以及許多其他因素(如讀取的頻率,寫入頻率等)等因素。
所以你不可能給你一個明確的答案,因爲你想要堅持的性質不清楚。如果你擔心創建對象的成本,那麼,除非它是確實昂貴,不要。除非你的問題有問題,否則不要優化問題。
+0
討論的那樣,很好的答案,不能說得更好。在更改之後,#4可能首選同步回主DB。 – 2009-06-21 06:00:52
2
你也可以看一下Object的序列化。你會在這裏找到更多的信息。 http://uk.php.net/serialize。這會將您的對象轉換爲可用於存儲會話數據的格式。一旦數據存儲在會話中,然後您可以讀取下一個用戶頁面加載的數據並反序列化數據以獲取對象!
下面是一篇很好的文章,它展示了序列化如何允許您的對象跨越兩個不同的PHP頁面使用。 http://www.phpbuilder.com/manual/en/language.oop.serialization.php
相關問題
- 1. 維護php對象狀態
- 2. 維護頁面的狀態angularjs
- 3. 使用TabBarController維護狀態
- 4. 爲多個對象中的靜態字段維護不同的狀態
- 5. PHP的Javascript維護頁面
- 6. 禁用狀態維護
- 7. Spotify應用程序 - 頁面間維護狀態
- 8. 在PHP中維護html控件狀態?
- 9. 如何在使用本地存儲維護頁面刷新後的狀態
- 10. jquery插件如何維護對象的狀態
- 11. jQuery跨頁面維護狀態。 jQuery cookie插件?
- 12. 維護私有狀態
- 13. 維護視圖狀態POST
- 14. 維護ListView項目狀態
- 15. Facebook,Flash和維護狀態
- 16. 維護視圖狀態android
- 17. 骨幹維護狀態
- 18. 如何維護同一頁面的不同會話?
- 19. 如何在同一網站的不同頁面加載中維護瀏覽器JavaScript中的狀態?
- 20. 在維護對象引用的同時序列化C#對象
- 21. nginx的維護頁面
- 22. CheckBox狀態在分頁到RAGGRID中的另一個頁面後沒有維護
- 23. 維護JSP頁面上的對象列表
- 24. 什麼是對象的不同狀態?
- 25. 用jquery插件維護狀態
- 26. 如何維護選定的複選框在不同的頁面
- 27. AngularJS使用不同的URL維護頁面轉換時的數據
- 28. 對象不維護分配的值
- 29. 使用單頁網站和使用URL哈希和jQuery維護狀態
- 30. ColdFusion IIS維護頁面
聽起來像是你想要一個PHP ORM,正如在http://stackoverflow.com/questions/108699/good-php-orm-library – 2009-06-21 05:41:28