程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> ThinkPHP5項目目錄規劃實踐,thinkphp5項目規劃

ThinkPHP5項目目錄規劃實踐,thinkphp5項目規劃

編輯:關於PHP編程

ThinkPHP5項目目錄規劃實踐,thinkphp5項目規劃


ThinkPHP5安裝後(或者下載後的壓縮文件解壓後)可以看到下面的目錄結構:

tp5├─application     應用目錄
├─extend          擴展類庫目錄(可定義)
├─public          網站對外訪問目錄
├─runtime         運行時目錄(可定義)
├─vendor          第三方類庫目錄(Composer)
├─thinkphp        框架核心目錄
├─build.php       自動生成定義文件(參考)
├─composer.json   Composer定義文件
├─LICENSE.txt     授權說明文件
├─README.md       README 文件
├─think           命令行工具入口

一般的信息管理項目中都分為前台和後台所以在application中一般新建admin和index兩個文件夾,index文件夾一般在配置好環境後第一次運行index.php入口文件的時候會自動生成,而admin文件夾我們可以使用命令行的方式來生成。

切換到命令行模式下,進入到應用根目錄並執行如下指令:

php think build --moudle admin

就會生成一個admin模塊,包括如下目錄結構:

├─admin   │  ├─controller      控制器目錄
│  ├─model           模型目錄
│  ├─view            視圖目錄
│  ├─config.php      模塊配置文件
│  └─common.php      模塊公共文件

同時也會生成一個默認的Index控制器文件。

這樣,整個項目的目錄結構就變成了:

├─application           應用目錄(可設置)
│  ├─index              模塊目錄(可更改)
│  │  ├─config.php      模塊配置文件
│  │  ├─common.php      模塊公共文件
│  │  ├─controller      控制器目錄
│  │  ├─model           模型目錄
│  │  └─view            視圖目錄
│  ├─admin              模塊目錄(可更改)
│  │  ├─config.php      模塊配置文件
│  │  ├─common.php      模塊公共文件
│  │  ├─controller      控制器目錄
│  │  ├─model           模型目錄
│  │  └─view            視圖目錄 │  │ │  ├─command.php        命令行工具配置文件 │  ├─common.php         應用公共文件 │  ├─config.php         應用配置文件 │  ├─tags.php           應用行為擴展定義文件 │  ├─database.php       數據庫配置文件 │  └─route.php          路由配置文件

可以看出index和admin模塊中都包含model、controller、和view三個文件夾,這三個文件夾分別存放MVC模式中的模型、控制器和視圖文件。

由於Model層存放的是模型,也就是與數據庫中表內容相對應的類文件,而這部分數據庫的操作在index和admin模塊中都是需要的。所以我們將model文件夾放在Index和admin模塊的外部,合二為一,這樣index和admin就可以很方便的使用它了,從邏輯上也變得更清晰,現在,整個目錄結構變這樣:

 

├─application           應用目錄(可設置)
│  ├─index              模塊目錄(可更改)
│  │  ├─config.php      模塊配置文件
│  │  ├─common.php      模塊公共文件
│  │  ├─controller      控制器目錄          
│  │  └─view            視圖目錄
│  ├─admin              模塊目錄(可更改)
│  │  ├─config.php      模塊配置文件
│  │  ├─common.php      模塊公共文件
│  │  ├─controller      控制器目錄           
│  │  └─view            視圖目錄
│  │
│  ├─model              模型層            
│  ├─command.php        命令行工具配置文件
│  ├─common.php         應用公共文件
│  ├─config.php         應用配置文件
│  ├─tags.php           應用行為擴展定義文件
│  ├─database.php       數據庫配置文件
│  └─route.php          路由配置文件

為了實現數據與操作的分離,model層進一步細化為model層、logic層、service層,這些默認是放在某個模塊下的,如在index模塊中logic層默認的目錄是index/logic,這樣ThinkPHP才能找到它,如果沒找到它的話,ThinkPHP會到模塊外部的Common文件夾中找它,service層也是這樣的,如果我們想index和admin兩個模塊都使用它們,那麼我們需要把它們放在application\common文件夾中,這就需要在application中新建一個common文件夾。現在目錄結構變成這樣:

 

├─application           應用目錄(可設置)
│  ├─index              模塊目錄(可更改)
│  │  ├─config.php      模塊配置文件
│  │  ├─common.php      模塊公共文件
│  │  ├─controller      控制器目錄          
│  │  └─view            視圖目錄
│  ├─admin              模塊目錄(可更改)
│  │  ├─config.php      模塊配置文件
│  │  ├─common.php      模塊公共文件
│  │  ├─controller      控制器目錄           
│  │  └─view            視圖目錄
│  │
│  ├─model              模型目錄
│  ├─common             公共目錄
│  │  ├─logic       邏輯層
│  │  ├─service       服務層            │  ├─command.php        命令行工具配置文件 │  ├─common.php         應用公共文件 │  ├─config.php         應用配置文件 │  ├─tags.php           應用行為擴展定義文件 │  ├─database.php       數據庫配置文件 │  └─route.php          路由配置文件

由於在ThinkPHP5中將模型驗證也與模型分離了出來,放在每個模塊下專門的validate文件夾中,而驗證無論是前台或後台向數據庫中寫數據都是需要的,ThinkPHP查找它的方法與前述查找logic層的方法是一樣的,
先在本模塊的validate文件夾中找它,如果找不到就調到本模塊外層的common文件夾中尋找。同樣地,我們將它放在模塊外層的common文件家中。現在,目錄變成如下的樣子:
├─application           應用目錄(可設置)
│  ├─index              模塊目錄(可更改)
│  │  ├─config.php      模塊配置文件
│  │  ├─common.php      模塊公共文件
│  │  ├─controller      控制器目錄          
│  │  └─view            視圖目錄
│  ├─admin              模塊目錄(可更改)
│  │  ├─config.php      模塊配置文件
│  │  ├─common.php      模塊公共文件
│  │  ├─controller      控制器目錄           
│  │  └─view            視圖目錄
│  │
│  ├─model              模型目錄
│  ├─common             公共目錄
│  │  ├─logic       邏輯層
│  │  ├─service       服務層 
│  │  ├─validate        模型驗證          
│  ├─command.php        命令行工具配置文件
│  ├─common.php         應用公共文件
│  ├─config.php         應用配置文件
│  ├─tags.php           應用行為擴展定義文件
│  ├─database.php       數據庫配置文件
│  └─route.php          路由配置文件

好了,以上就是我關於ThinkPHP5在實際項目中目錄規劃的一點建議,如有不妥,請批評指正!
參考文獻:
[1]ThinkPHP5.0快速入門
[2]ThinkPHP5.0完全開發手冊
[3]ThinkPHP5.0入門實例教程

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved