PHP 板


LINE

看板 PHP  RSS
※ 引述《JoeHorn (獅子男)》之銘言: : ※ 引述《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沒有辦法做到這個。」,下一段似乎直接駁斥了這一段的說法? 我不認為後面那段自己駁斥了這一段。 任何缺少的功能我們當然可以自己想辦法做出來。以這個例子來講,也許我們可以 做出自己的lib來達到或者模擬ASP/ASP.net的application變數的功能。但是這跟 auto_prepend_file有什麼關係?這個功能是因為auto_preprend_file才做出來的嗎? 不是吧。auto_prepend_file只是會自動把某個檔案的內容塞到每一個php程式前面 而已。好,就算我把自己做出來的class放在這個檔案裡面好了,這樣我不需要在 程式裡面用include或者require把這個class叫進來,方便多了。但是這樣我會說 這個app變數的功能是因為auto_prepend_file才做出來的嗎?不會吧。 : : PHP如果要做到對某個參數的變更,所有訪客都看得到,那勢必必須自己 : : 實作一些方式把這些資料儲存在某個地方(檔案或者資料庫或者甚至存在 : : shared memory),另外也要自己實作一些方式去讀取這些共用資料。 : : 為什麼得自己實作?就是因為PHP本身沒有提供咩。 : 辦法是人想出來的,自己實做會比較差? 我可沒說自己做的東西就會比較差。請不要自己猜。我只是說,PHP本身沒有 提供類似ASP/ASP.net的application變數這項功能。這有錯嗎?沒有就是沒有。 至於引申出「自己做的就會比較差」這個,那可不是我講的。我也沒有暗示 「自己做的就會比較差」這件事。 說實在話,今天我也得感謝PHP,才能掙口飯吃。說PHP的壞話對我來說有什麼 好處?沒有啊。只不過剛好我也有一部份得感謝ASP/ASP.net。我不會在這裡 說PHP好還是ASP/ASP.net好,那也不是我能評論的。今天只不過是有人問了 PHP有沒有類似app變數的功能,答案是沒有。就這樣。原發問者會因為這樣就 不用PHP嗎?這我不曉得。不過在現實環境下,如果真的需要這功能而且就是 得用PHP,我想原作者會去找到可用的函式庫或者自己想辦法生出來的。我們 都是這樣走來的不是嗎。 : 我在網路上看過一段話,意思大概是這樣: : 「如果你寫的 code、應用的 library、使用的軟體都是 well documented 的, : 那你的成果並不是什麼了不起的曠世鋸作。」 : 共勉之~ --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.153.19
1F:推 arzbar:功能一樣能達到 只是原PO 問有沒有APP 這樣的東西 我也是 03/20 16:58
2F:→ arzbar:ASP 轉過來的 為了APP 我也翻了一堆文章 最後只能靠紀錄的 03/20 16:59
3F:→ arzbar:方式來達到ASP 的 APP變數功能 J先生是不是太敏感了? 03/20 16:59
4F:→ gpmm:怎辦?我也跟 J 大一樣覺得不太蘇湖耶…我也太敏感了嗎? 03/20 17:02
5F:推 arzbar:或許吧 因為ASP 的APP太方便了 來到PHP 總是會不習慣 03/20 17:11
6F:推 JoeHorn:一樓,麻煩您去看看您在之前文章的推文。 03/20 17:13
7F:→ JoeHorn:尤其是我提 auto_prepend_file 的那篇文章。 03/20 17:14
8F:推 arzbar:我真不知道有什麼好火藥味的 沒有像ASP 的 APP 的變數 03/20 17:14
9F:→ JoeHorn:變數不能帶到別的 user 身上? 03/20 17:15
10F:→ arzbar:你只能用變通的方式來做 這不就是答案? 03/20 17:15
11F:→ arzbar:我不清楚J大有沒有用過ASP 的 APP 但是我可以理解他要的 03/20 17:15
12F:→ arzbar:並不是要變通的作法 只是單純問個答案而已 03/20 17:16
13F:→ JoeHorn:JAVA、.NET、PHP 我都玩過了, App 級變數是很好用.. 03/20 17:16
14F:→ JoeHorn:重點是「為什麼非用不可?」,.NET 的 App 級變數效能好? 03/20 17:17
15F:→ JoeHorn:你們要不要去看看他們的底層實作方式? 03/20 17:18
16F:推 arzbar:他只有問有沒有這個變數吧? 沒有說非用不可阿 03/20 17:18
17F:→ arzbar:也沒提到效能阿? 而且 我也沒有要打筆仗阿 只是想表達 03/20 17:19
18F:→ JoeHorn:所以你們找都不找,直接丟個「沒有」? 03/20 17:19
19F:→ arzbar:PHP 沒有APP這個變數 就這樣而已 03/20 17:20
20F:推 JoeHorn:如果這種變數是相反的(PHP 支援,.NET 不支援)。 03/20 17:23
21F:→ JoeHorn:你們找到的 .NET implement 的 class 要收錢才能下載~ :p 03/20 17:24
22F:→ arzbar:我其實也不是很想筆戰 但如過下面那篇真的能用的話那真的 03/20 17:34
23F:→ arzbar:是太好了 我記得原PO還有提到 伺服器關閉 變數消失 03/20 17:35
24F:→ arzbar:若依照我們後來變通的方式 應該是沒辦法達到那個需求吧? 03/20 17:35
25F:→ arzbar:還是說各位大大有其他的變通方式? 我是想不到啦 有勞指導 03/20 17:36
26F:推 starjou:戰起不相干的東西了....... 03/20 18:34







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP