2013-06-29 23 views
0

我習慣使用Java和Spring Framework。但不久前我開始學習PHP,以熟悉另一種語言。在哪裏保持全局變量在PHP中?

我想寫一個簡單的事情來繪製使用HTML畫布,所以超過1個用戶可以在同一時間使用繪製。

在Java中,我將使用控制器中的類變量來存儲用戶繪製的圖片。並且每隔1-2秒用戶就會發送帶有他們已繪製的新數據的請求,因此我可以將這些更改添加到全局變量中。然後將更改發送給每個用戶。當新用戶進入時,服務器將整個圖片發送給他。

所以,我的問題是,我如何在PHP中存儲應用程序全局變量?就像這個例子中的圖片一樣...... 正如我所看到的,完成之後,PHP暫停並且所有變量都隨之死亡,對吧?那麼有沒有什麼辦法讓全局變量的應用程序?所以我可以從應用程序的不同部分訪問它?

在完成腳本之前,我可以將它保存爲文本文件。每次發生新的請求時,再次從文本文件中讀取它,進行更改,然後回寫到文本文件中......但它太瘋狂了......沒有任何方法,就像我之前使用的Spring Framework和Java一樣?

+1

在數據庫中,文件系統文件或緩存像memcache或redis –

+0

thx很多給大家! – user2452103

+0

[用php.ini聲明全局變量]的可能重複(http://stackoverflow.com/questions/5052558/declaring-global-variable-with-php-ini) – Omar

回答

1

您需要一種持久存儲形式。通過持久性,我的意思是存儲不基於個人用戶的會話,如$GLOBALS陣列。 PHP Sessions對於單個用戶的存儲很有用,但是一個用戶不能訪問另一個用戶的會話數據。

持久存儲可以通過幾種方式實現。一些選項:檢查數據庫表中的行或將值存儲在文件中,就像您提到的那樣。

數據庫存儲

退房PHP對通過數據庫這樣做的更多信息的mysqli_query()。這將需要了解MySQL語法。

文件存儲

退房PHP的file_get_contents()file_put_contents()關於如何輕鬆地從文件中檢索數據,並在文件中設定的數據進行交互的例子。