2010-09-24 102 views
1

無論你自己構建你的PHP應用程序還是使用框架(MVC或其他),你發現哪種文件夾結構最符合邏輯,並且你一直在發現你一直堅持。你使用什麼文件夾結構

我還沒有開發一個我承諾的文件夾結構,但我注意到我的所有項目甚至是2頁的文件夾都至少有一個webroot文件夾(用於htaccess,index,css,havascript等文件)和另一個上面的網站根目錄的文件夾,我儘量保留儘可能多的文件。很基本。希望聽到別人正在做什麼來保持他們的計劃組織。

+0

可能的重複http://stackoverflow.com/questions/1795136/ideal-folder-structure-of-mvc-framework和http:// stackoverflow。 com/questions/3040308/folder-structure-of-php-mvc-framework-am -i-doing-this-right/ – Serge 2010-09-24 07:24:11

+0

@Serge,謝謝你的有用鏈接。但我並不特別偏向於MVC架構。任何文件夾結構都可以,包括每頁1個文件。 – jblue 2010-09-24 07:27:18

回答

4

我對於Web項目的默認文件夾結構

+projectname/ 
    +htdocs/ 
    | +assets/ 
    | | +js/ 
    | | +css/ 
    | | +img/ 
    | | +swf/ 
    | +content/ 
    +sys/ 
    | +temp/ 
    | +config/ 
    | +libs/ 
    +docs 
4

如果您使用框架,我會建議堅持爲框架推薦的文件夾結構。這意味着一旦你瞭解了它,你就可以更容易地適應使用該框架的其他項目,熟悉框架的其他編碼人員也會更容易理解你。

3

對於小項目我通常使用以下方法來從工作:

  • httpdocs(Web根)
    • data-providers(AJAX端點)
    • script(JS:公用程序,腳本庫)
    • style(CSS和圖形 - 主要是sprites而不是gfx文件夾我曾經有過)
  • models(PHP類)

至於在httpdocs PHP文件我通常使用每頁/功能一個文件(包括基本CRUD operations)。

+0

因此,您將用於CRUD操作的PHP文件放在httpdocs中,以及用於網頁的PHP文件中?什麼樣的文件在「數據提供者」呢?你如何訪問模型?使用「../」路徑? – Tomas 2010-09-24 08:33:14

+0

@Tomas模型是從'httpdocs'和'models'的父文件夾中包含的'.htaccess'包含的config.php文件'__autoload''。 'data-providers'包含返回片段的資源,例如通過jQuery加載的城市郵編等。至於CRUD操作:文件(例如user.php)將(默認情況下)顯示一個「用戶」實例,但也處理創建和更新。我不知道MVC,但是這些都是次要的(大部分是私人的)項目。 – jensgram 2010-09-24 08:40:34

2

我一般遵循類似馬丁Holzhauer的東西,但是我保留任何常見的PHP包括在一個單獨的樹(通過include_path中引用 - 稱之爲通用庫) 。

通過瀏覽器直接尋址的每個頁面在其自己的目錄中創建爲index.php。包含特定於該單個頁面的文件(或任何其他內容)進入該目錄,通常包括進入公共庫。

通過保持web根目錄以外的上傳臨時文件和包含內容,它有點簡化了安全性。

實際上,我實際上有幾條包含路徑 - 完整的解釋請參閱今年早些時候的PHP Architect中的文章 - 但這允許我控制dev/staging/live的不同設置(例如數據庫設置)。並且還可以覆蓋特定的文件(例如添加額外的日誌/診斷)