Re: 有關PHP沒有"application"物件

看板PHP作者 (請勿忘記密碼)時間19年前 (2006/02/26 15:37), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串9/9 (看更多)
PHP確實是沒有內建類似ASP/ASP.NET的Application物件所提供 的功能。此外,在ASP/ASP.NET裡面所謂的Application是由一個 IIS裡面建立的虛擬目錄來定義它的範圍,在PHP裡面由於PHP並 沒有跟Web server綁在一起,因此我們也無法像在ASP/ASP.NET 裡面一樣透過IIS管理員介面來建立一個Application,也由於沒有 Web server方面的支援因此ASP/ASP.net的Application_OnStart 這類功能也就付之闕如(ASP/ASP.net架構下系統自己會在應用程式 範圍內第一次被存取的時候呼叫你的程式,但是在PHP裡面你怎麼 知道/myapp這個application被"啟動"了或者被"停止"了?)。 如果在PHP裡面需要類似ASP/ASP.net的Application物件的功能, 恐怕就是得自己寫了。單純只是要跨request/session共用資料 應該不難,如何定義一個application的範圍以及知道某個app被 啟動或者停止就得多花點腦筋)如果你的系統可支援的話,我會 覺得shared memory是一個比較好的方向(速度快,不過資料量 要夠大才看得出差別)。PHP有提供操作shared memory的相關函數: http://www.php.net/manual/en/ref.shmop.php 這頁有人提到透過tmpfs檔案格式(建立在shared memory上面)可以 像操作一般檔案那樣(fopen, fwrite, fread, fclose...)操作 shared memory。因為資料是建立在記憶體裡面因此速度比一般檔案 快很多,但是又可以直接用已經熟悉的檔案操作方式來寫code。也許 你可以朝這個方向去試試看。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.115.146.31
文章代碼(AID): #140Lgdv3 (PHP)
文章代碼(AID): #140Lgdv3 (PHP)