亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

thinkphp的目錄結構設計經驗總結

發布時間:2020-07-20 15:34:18 來源:網絡 閱讀:399 作者:帥白123 欄目:web開發

用thinkphp開發了好些項目了;最近準備抽空寫一些經驗總結;

希望能給剛開始接觸tp的童鞋們提供一些開發的方案;少走一些彎路;少踩一些坑;

這些絕對都是些精華干貨;耐著性子閱讀;相信收貨大大的;

可以結合git項目對照研究:http://git.oschina.net/shuaibai123/thinkphp-bjyadmin

先從thinkphp的目錄架構開始吧;


thinkbjy 白俊遙博客
├─Application 項目邏輯目錄
│  ├─Common 公共模塊
│  │  ├─Common  公共函數目錄
│  │  │  ├─functioin.php 公共函數php文件
│  │  ├─Conf  公共配置文件目錄
│  │  │  ├─config.php  tp的配置 用于覆蓋框架默認配置項
│  │  │  ├─db.php  數據庫配置 用戶名 密碼等
│  │  │  ├─webconfig.php  項目的配置;網站名;是否開啟網站等
│  │  ├─Controller  公共控制器目錄 
│  │  │  ├─BaseController.class.php 應用最基礎的控制器
│  │  │  ├─HomeBaseController.class.php  Home基礎控制器繼承BaseController
│  │  │  ├─AdminBaseController.class.php  Admin基礎控制器繼承BaseController
│  │  │  ├─UserBaseController.class.php  User基礎控制器繼承BaseController
│  │  │  ├─...
│  │  ├─Model  公共模型目錄
│  │  │  ├─BaseModel.class.php  應用最基礎的Model
│  │  │  ├─ArticleModel.class.php 文章model  繼承BaseModel
│  │  │  ├─UserModel.class.php  用戶model 繼承BaseModel
│  │  │  ├─...
│  │  ├─Tag  公共標簽目錄
│  │  │  ├─My.class.php  自定義的標簽庫
│  │  │  ├─...
│  ├─Home  Home模塊
│  │  ├─Controller  Home控制器目錄 繼承HomeBaseController
│  │  │  ├─ArticleController.class.php 文章控制器目錄  
│  │  │  ├─IndexController.class.php  首頁控制器
│  │  │  ├─ ...  
│  ├─Admin  結構同Home
│  ├─User  結構同Home
├─Public 資源文件目錄
│  ├─install      安裝引導目錄
│  ├─statics      靜態資源目錄
│  │  ├─bootstrap bootstrap框架
│  │  ├─ueditor   ueditor編輯器
│  │  ├─js        jquery等第三方js存放的目錄
│  │  ├─css       animate.css等第三方css目錄
│  │  ├─ ...      
├─Template 視圖文件目錄
│  ├─Public  公共目錄
│  │  ├─js  公共js目錄
│  │  │  ├─base.js 全站都引用的js文件
│  │  │  ├─ ...  
│  │  ├─css  公共css目錄
│  │  │  ├─base.css 全站都引用的css文件  
│  │  │  ├─ ...  
│  │  ├─p_w_picpaths 公共圖片目錄 
│  │  ├─public_head.html  全站通用的公共頭部
│  │  ├─public_foot.html  全站通用的公共底部
│  │  ├─...  
│  ├─Home  前臺Home視圖目錄   
│  │  ├─Public 前臺Home的公共目錄
│  │  │  ├─js  home下調用的js文件目錄
│  │  │  ├─css  home下調用的css文件目錄
│  │  │  ├─p_w_picpaths  home下調用的圖片文件目錄
│  │  ├─Index  首頁文件目錄
│  │  │  ├─index.html 首頁  
│  │  │  ├─ ...
│  ├─Admin  同Home
│  ├─User   同Home
├─Upload  公共上傳目錄
│  ├─p_w_picpaths   上傳的圖片目錄
│  │  ├─avatar  頭像目錄
│  │  ├─ueditor ueditor編輯器上傳的圖片目錄
│  │  │ ...
│  │ ...
├─Runtime 運行時目錄
├─ThinkPHP 框架系統目錄

/Application/Common/Common/function.php 這個作為常用公共函數文件;

平時經常用的自定義函數都可以放里面;

比如說 之前寫過的p函數 以符合人類閱讀的方式打印php數組

然后還建議寫:判斷用戶是否登陸的函數、獲取當前登陸用戶id的函數、上傳函數、圖片處理函數、驗證碼函數、分頁函數等等;


/Application/Common/Conf 公共配置項目錄下 我建議至少創建如下3個文件

config.php、db.php、webconfig.php 為什么要創建3個配置項文件呢?我來詳細的講解這三個文件的作用;

config.php里面都是系統的配置項;我們這個文件主要是用來覆蓋框架默認的配置項;這個文件好理解些;

db.php 數據庫的賬號密碼等;單獨放一個文件是因為很多時候;這個文件需要根據應用安裝的時候填寫的數據庫賬號密碼生成的文件;

webconfig.php 這個文件獨立出來的原因同上;


/Application/Common/Controller 公共控制器目錄

這個目錄下一定要建一個BaseController.class.php 為了開發維護的方便 我們開發要盡量避免改動框架的文件;

所以呢;為了不改動框架的Controller.class.php 我們自己建一個BaseController以后所有的Controller都繼承它;

這樣只要在BaseController里面寫的方法;所有的控制器都繼承到了;都可以用到;

但是呢;我們開發的項目可能會比較復雜;只有一個BaseController會比較雜亂;所以我們還可以根據業務需求再建AdminBaseController.class.php  可以在__construct構造函數中判斷如果不是管理員;禁止訪問;我們只需要所有把所有需要有管理員權限才可訪問的控制器全部繼承AdminBaseController; 這樣這些控制器就不需要每個都判斷是否是管理員了;

具體可以看 thinkphp集成系列之rbac的升級版auth權限管理系統demo

UserBaseController.class.php 等其他xxBaseController同樣道理;比如說用戶的個人中心必須是登陸狀態才可訪問等等;


/Application/Common/Model 公共模型目錄

這個目錄一定要建一個BaseModel.class.php 為什么呢?

巴拉巴拉。。。

巴拉巴拉。。。

好吧;我在組織語言的時候;發現越寫越多;所以我準備單獨開一片文章來寫BaseModel的問題;

傳送門: thinkphp的model模型的設計經驗總結


/Application/Common/Tag 公共標簽目錄

為了方便開發;我們還是必須要建一個自定義的標簽庫;My.class.php

什么是標簽庫呢?我們會發現在模板中tp內置好多標簽很好用;比如說foreach、volist、eq;

官方的文檔傳送門:內置標簽

什么?不知道怎么自定義標簽? 好吧;再來個傳送門:thinkphp自定義模板標簽


/Public  資源文件目錄

可以把boostrap、jquery等第三方插件扔到這里面


/Template 視圖目錄

建議把每個模塊的View都移到這個目錄中集中管理;不然開發的時候各種點目錄切換;那酸爽;誰用誰知道;

/Template/default/Home/Public/js/base.js 和/Template/default/Home/Public/css/base.css 強烈建議全站都引用;里面寫一些全站都可以用的樣式或函數;比如css的reset;其他的看上面的目錄就可以看明白的;就不多啰嗦了;


/Runtime 運行時目錄

和Template一樣;建議都移到最外層;方便我們刪除緩存;


好吧;認真寫博客真的很耗時;這篇博客寫了整整3個小時;但愿能幫到童鞋們;

thinkphp的目錄結構設計經驗總結

本文為白俊遙原創文章,轉載無需和我聯系,但請注明來自白俊遙博客http://www.baijunyao.com                        


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

古蔺县| 江北区| 田林县| 新沂市| 金门县| 呼伦贝尔市| 金寨县| 旅游| 来凤县| 桦甸市| 绿春县| 浦江县| 蓬溪县| 瓦房店市| 巴东县| 陕西省| 巴林右旗| 泸西县| 溧水县| 崇明县| 永修县| 樟树市| 新宁县| 沙坪坝区| 天全县| 滕州市| 丽水市| 朝阳区| 盐池县| 准格尔旗| 新源县| 金阳县| 分宜县| 海淀区| 沧源| 通渭县| 林口县| 迁安市| 汝州市| 晋中市| 米易县|