2012-11-15 163 views
0

您好,我想尋求一些幫助和您的項目組織經驗。既然這是我的第一個項目,我不知道我是否應該組織它,這是一個電子商務平臺,各個網站。我的項目是目前的這種方式組織:PHP項目文件組織

. 
├── admin 
│   └── index.php (redirects to system/admin/index.php) 
├── conf.php (saves info about the server database etc...) 
├── index.php 
└── system 
    ├── admin 
    │   ├── add_prd.php 
    │   └── index.php(this is the main administration page) 
    ├── css 
    │   └── css.css 
    ├── func.php(this is my functions library witch is included in every file that uses a function made by me) 
    ├── img (this is where all pics go) 
    │   ├── img_artigos(this is where all pics *of the products* go) 
    │   │   ├── product1.png 
    │   │   └── ... 
    │   └── (system images go here)banner, all other images of the "template", etc...(probably i will make a new folder called system for that) 
    ├── logout.php 
    ├── order.php 
    └── reg.php 

,這是它如何工作的,該指數有它的每一件事情,使用時點擊寄存器重新加載頁面,並通過GET收到該指令,一個開關的情況下運行返回註冊表格的函數register(),然後將其提交給reg.php(樹中的最後一個文件),該註冊表將註冊插入數據庫並重定向到index.php。 logout()和order()方法會發生同樣的情況,只是爲了執行該函數,然後返回索引,這些頁面只是使用一個函數並將用戶重定向到索引頁面。我甚至想到在做同樣的事情重定向,使用開關的情況下執行不同的功能和重定向回索引,該網站將只有指數,管理指數,重定向,CSS和FUNC文件...

當用戶點擊他們的名字,頁面重新加載並使用GET,它指示切換案例加載profile_display()函數,以迴應個人資料信息...

管理員用戶也是如此會有不同的頁面瀏覽思想的感覺,但實際上他們從未離開過索引。

什麼,我想知道的是,如果這是正確的,或者如果我將有什麼樣的問題,或者如果我使用不好的做法...如果我應該用更傳統的方式去(很多文件),什麼是要更好地維護傳統或者這個......並且如果服務器端會因爲這個和你的意見而出現任何問題。先謝謝你。

回答

1

雖然我認爲你的組織不是那麼糟糕,但它是一個非常基本的結構,而不是可擴展的。如果你的項目變得越來越大,你將不會保持那種快樂。

我建議你去看看在各種MVC框架存在其做你的頁面請求的所有路由,並幫助你保持你的項目維護。它們還有助於分離邏輯代碼和佈局。

如果你wan't留在該結構你至少應該改變它的某些部分:

我可能誤解你,但你應該做這一切的方式相同。在我看來,不使用從你的switch語句調用的函數,同時直接重定向到reg.php。

switch($page) { 
    case "register": 
    //inlude file or call function 
    break; 
    case "register_submit": 
    //inlude file or call function 
    break; 
    case "logout": 
    //inlude file or call function 
    break; 
    case "order": 
    //inlude file or call function 
    break; 
    case "login": 
    //inlude file or call function 
    break; 
} 

那麼,也許讓一個「資產」文件夾中,也可以把它無論你在同一水平作爲你的系統文件夾喜歡,把你所有的CSS/JS /圖像文件在那裏。

但我仍然建議你使用MVC框架。 我個人使用Codeigniter。但是有好幾個好的框架,比如Kohana。

+0

謝謝你的回答我會考慮Codeigniter,我擔心我會在很多層面上出現問題,畢竟,「沒有那麼糟糕」會對此起作用:) –

+0

如果真的有必要,我只使用重定向,在註冊的情況下,在switch case中我有表單,然後當它被提交時,它被提交到頁面reg.php,它通過post接收數據,並調用func.php中的函數來插入數據到數據庫 –