一個好的項目都會固定格式的目錄,Lotusphp相對會靈活一些,可以合理安排自己的程式運行目錄,這裡我推薦2種目錄的設定結構
第一種是Lotusphp推薦的目錄結構,首先要確保伺服器開啟了父目錄引用的功能,或者通過rewrite引導到 wwwroot/frontend 裡(但是不建議這樣,因為可能存在多個應用,除非你就一個應用,預設引導到index.php)
├─framework├─app│ └─frontend 應用程式名稱│ ├─action│ ├─conf│ ├─lib│ └─view│ └─layout├─conf│ ├─dev│ └─standard├─lib│ ├─Dao│ ├─Util│ └─Service└─wwwroot └─frontend
wwwroot大家一看就明白,就是web根目錄,所有的程式運行檔案,包括架構、程式、類庫、外掛程式、設定檔等都在wwwroot的父目錄中,即使被黑,也只被黑了伺服器,單純從web伺服器上瀏覽,是無法看到任何程式檔案和類庫的,wwwroot目錄中只能訪問到圖片,指令碼等資源。這樣的配置安全係數相對會比較高。最上面的app檔案夾就是應用程式檔案夾,下面可以建立多個應用,一般像我們經常是前台一個應用,後台一個應用,2個應用足夠了,對於複雜的邏輯,可以根據需要定義應用的數量,wwwroot中對應的檔案夾和app對應的檔案夾名稱應該一致,app中存放的背景程式檔案,而wwwroot中存放的應該是前台指令碼,圖片,樣式等檔案。應用目錄下還有幾個檔案夾,對應的功能分布是action對應的是應用程式檔案,負責解析後台邏輯部分,conf而已定義該應用的設定檔,lib是定義外掛程式,各種該應用使用的公用類庫,Dao資料表類,view裡面存放視圖,也可以理解為我們常說的模板,其中的子檔案夾layout是存放布局視圖檔案的
conf目錄存放的是設定檔,其中下面的dev目錄是開發模式中應用的設定檔,而standard則是生產模式存放的設定檔,舉個簡單的例子,本地和伺服器上的資料庫配置不一樣,就可以存為不一樣的配置,在本地啟用開發模式,傳到伺服器啟用生產模式,可以從容應對不同運行環境。所有的設定檔放到conf目錄。全域配置是所有應用共用的配置,每個應用特殊的配置放到應用程式名稱目錄下的conf。生產環境下只載入標準配置,開發模式下先載入標準配置,然後載入開發配置,覆蓋掉標準配置中相同的。
lib目錄裡存放的是一些基礎類庫,架構外的外掛程式也可以存放在這裡,lotus被聲明後,會自動載入這個檔案夾,裡面所有的類庫和函數會被自動載入,Dao存放的是資料表聲明的類,Util存放的是常用的函數和類庫,Service存放的是程式的一些複雜邏輯的類庫,比如我們經常後台登陸,要判斷使用者的合法性,就可以寫成一個類庫,action裡調用該類庫的一個check方法,就可以判斷出使用者是否合法。
你可以把自己定義的php類放到lib和action目錄,在其它地方直接new使用,不需要有include/require語句。autoloader組件會自動載入用到的類,這是按需載入喲。
lib和action目錄下的目錄結構和檔案名稱隨意,只要保證類名字唯一就好了,目前的autoloader沒有使用php5.3的name space特性。
請注意,lotusphp運行目錄中,除了conf,view檔案夾下的檔案外其餘檔案必須以類或者函數的形式存在。
還有一種目錄結構是針對無法開啟父目錄引用的,一般虛擬機器主機裡應用會比較多
wwwroot├─cache├─framework├─runtime│ ├─app│ │ └─frontend│ │ ├─action│ │ ├─conf│ │ ├─lib│ │ └─view│ │ └─layout│ ├─conf│ │ ├─dev│ │ └─standard│ └─lib└─static
cache是緩衝目錄,結構很多人要問為什麼上面的第一種結構沒有設定這個檔案夾,因為上面的結構是適合自己的伺服器的,所以緩衝可以設定到自己設定的檔案夾中,甚至設定到記憶體中,但是虛擬機器主機是不可能給你這個許可權的,要設定只能設定在自己的目錄裡,所以加了這麼一個目錄,runtime是程式運行檔案目錄,static是存放樣式表,指令碼,圖片檔案的。其他目錄的功能和上面是一樣的。
這兩個推薦的目錄方式基本適合大多數人的需求。
http://www.bkjia.com/PHPjc/440304.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/440304.htmlTechArticle一個好的項目都會固定格式的目錄,Lotusphp相對會靈活一些,可以合理安排自己的程式運行目錄,這裡我推薦2種目錄的設定結構 第一種是...