LotusPhp推薦的程式目錄_PHP教程

來源:互聯網
上載者:User
一個好的項目都會固定格式的目錄,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種目錄的設定結構 第一種是...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.