Re: [請益] 伺服器變數

看板PHP作者 (獅子男)時間17年前 (2008/03/20 16:10), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/10 (看更多)
※ 引述《MrMarcus (請勿忘記密碼)》之銘言: : 我不知道各位有沒有寫過ASP或者ASP.net。ASP/ASP.net的Application變數 : 是一種在同一個Application範圍內的所有頁面,所有使用者,都可以存取 : 得到的變數。這裡的使用者指的是前來瀏覽這個Application範圍內網頁的 : 訪客,不是主機作業系統上的使用者。 我之前的文章有說到這段: 如果「user」是單一 PHP 系統的 web wlient ,那根本就不用來問伺服器級變數, 隨便找個開放源碼的 PHP 系統(phpBB、OSC、Gallery、...)都可以看到作法。 把資料放在 Config 檔,或是放在後端 DB ,都可以解決。 有必要一定得用 application variables ? : PHP透過auto_prepend_file在每個程式前面插入該程式,這雖然可以讓每個 : 程式(以及使用者)共享某些資料,但是問題在於這些資料是不能被改變的。 : ASP/ASP.net程式可以用類似以下的方式讀取Application變數: : TotalUserLabel.Text = Application["TotalUser"].ToString(); : 但是除了讀取,還可以把資料寫到Application層級去: : Application.Add("TotalUser", 100); : 或者 : Application["TotalUser"] = 101; : 整個app範圍內的所有使用(訪客)都會看到這個變數的改變。PHP的 : auto_prepend_file沒有辦法做到這個。雖然可以在這個檔案裡面放入一些 : 變數讓每個程式(以及訪客)都讀取得到,但是當程式試圖去「變更」這些 : 變數的資料的時候,這些變更影響的範圍都只限於該支程式,該程式執行 : 完畢,下次執行的時候就又恢復成以前未變更的值了。或者頂多透過 : SESSION變數,讓同一個訪客瀏覽的多個頁面都能看到之前的變更。 : 但是重點在於「其他訪客」並無法看到這些「變更」。這也就是Application : 層級變數跟session層級變數不同的地方。 您在這邊講「整個app範圍內的所有使用(訪客)都會看到這個變數的改變。PHP的 auto_prepend_file沒有辦法做到這個。」,下一段似乎直接駁斥了這一段的說法? : PHP如果要做到對某個參數的變更,所有訪客都看得到,那勢必必須自己 : 實作一些方式把這些資料儲存在某個地方(檔案或者資料庫或者甚至存在 : shared memory),另外也要自己實作一些方式去讀取這些共用資料。 : 為什麼得自己實作?就是因為PHP本身沒有提供咩。 辦法是人想出來的,自己實做會比較差? 我在網路上看過一段話,意思大概是這樣: 「如果你寫的 code、應用的 library、使用的軟體都是 well documented 的, 那你的成果並不是什麼了不起的曠世鋸作。」 共勉之~ --

id 開頭是 的,都說我是正妹 \(^▽^)/

我要去炸 id 開頭是 的家<(  ̄^ ̄)︵θ☆( >_<)

id 開頭是 的最愛跟我一起分享 ~●

id 開頭是 的誤我兒一生 (/‵Д′)/~ ╧╧

我最愛跟 id 開頭是 的一起洗澡 <( ̄︶ ̄)>

我決定把 送進公海! (  ̄ c ̄)y▂ξ
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.116.37.9
文章代碼(AID): #17uXm3oc (PHP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 5 之 10 篇):
文章代碼(AID): #17uXm3oc (PHP)