2012-08-02 15 views
0

我是新來的PHP試圖遷移從Java到PHP。這個問題可能是一個愚蠢的問題。對不起,如果是。使用Singleton類的數據庫

我發現在PHP幾個單身的實現和我打算用它的數據庫。我的問題是:如果調用兩個不同的PHP頁面或同時由多個客戶端調用一個頁面,會發生什麼?它不會使用相同的數據庫連接,語句和存儲結果在相同的變量?不會得到重寫和損壞的結果?

+2

每個PHP頁面都有它自己的變量和資源。 – knittl 2012-08-02 10:30:11

+0

但我正在使用單例類。 – mrd081 2012-08-02 10:36:45

+0

@ mrd081這是無關緊要的。它只是當前正在執行的腳本範圍內的一個單例。這是每個用戶,每個連接 - 每個併發執行環境都有自己的內存空間。沒有重疊的危險。 – DaveRandom 2012-08-02 10:40:38

回答

1
  • 否,每個請求被從彼此分離。這尤其意味着:每個資源(包括數據庫連接)都在請求結束時關閉。但是,通常不需要擔心
  • 不,併發訪問數據庫不會傷害它。其實這就是一個原因,爲什麼相對於平面文件數據庫是受歡迎的;)
+0

但我使用單例類。如果一切都是分開的,那麼singleton的用法是什麼? – mrd081 2012-08-02 10:36:29

+0

首先:忘記單身模式。它是邪惡的!這只是一種模式,要確保從給定類型(類)中只存在單個實例。就這樣。關於「分離」:假設您重新啓動計算機。一切都消失了,對吧?當進程關閉時,沒有其他任何事情發生,並且沒有其他任何事情(至少「幾乎沒有其他事情」)是對PHP運行時的請求。 – KingCrunch 2012-08-02 10:38:11

+0

我想保留所有與數據庫有關的變量在一個地方。我怎樣才能做到這一點 ?我可以簡單地創建一個具有所有靜態常量的類常量嗎? – mrd081 2012-08-02 10:41:29