thinkphp模型層Model、Logic、Service講解
thinkphp模型層Model、Logic、Service講解
thinkphp模型層Model、Logic、Service講解
ThinkPHP支援模型的分層 ,除了Model層之外,我們可以專案的需要設計和建立其他的模型層。
通常情況下,不同的分層模型仍然是繼承系統的ThinkModel類或其子類,所以,其基本操作和Model類的操作是一致的。
例如在Home模組的設計中需要區分資料層、邏輯層、服務層等不同的模型層,我們可以在模組目錄下面建立Model、Logic和Service目錄,把對使用者表的所有模型操作分成三層:
資料層:HomeModelUserModel 用於定義資料相關的自動驗證和自動完成和資料存取介面
邏輯層:HomeLogicUserLogic 用於定義使用者相關的業務邏輯
服務層:HomeServiceUserService 用於定義使用者相關的服務介面等
三個模型層的定義如下:
Model類:HomeModelUserModel.class.php
namespace HomeModel;
class UserModel extends ThinkModel{
}
例項化方法:D(`User`);
Logic類:HomeLogicUserLogic.class.php
namespace HomeLogic;
class UserLogic extends ThinkModel{
}
例項化方法:D(`User`,`Logic`);
Api類:HomeApiUserApi.class.php
namespace HomeApi;
class UserApi extends ThinkModel{
}
例項化方法:D(`User`,`Api`);
D方法預設操作的模型層由DEFAULT_M_LAYER引數配置,我們可以改變預設操作的模型層為Logic層,例如:
`DEFAULT_M_LAYER` => `Logic`, // 預設的模型層名稱
這樣,當我們呼叫:
$User = D(`User`);
的時候其實是例項化的 UserLogic類,而不是UserModel類。
相關文章
- JAVA中Action層, Service層 ,model層 和 Dao層的功能區分Java
- Diffusion Model 擴散模型-[通俗易懂+程式碼講解模型
- thinkphp model層外挪,以便多個站點可以通用PHP
- MapReduce模型講解模型
- ThinkPHP3.2公共類庫、應用類庫ThinkPHP/Library講解PHP
- OSI七層模型詳解模型
- Django模型modelDjango模型
- 擴散模型 (Diffusion Model) 之最全詳解圖解模型圖解
- SAP 電商雲 Assisted Service Module (ASM) 功能模組講解ASM
- 模型Bean:Model Bean模型Bean
- 主題模型TopicModel:Unigram、LSA、PLSA主題模型詳解模型
- Markov Model 馬可夫模型 & Hidden Markov Model 隱馬可夫模型模型
- SQL Server Service Pack Model and Naming RuleSQLServer
- MVC 三層架構案例詳細講解MVC架構
- ThinkPHP3.2.3 關聯模型PHP模型
- Java面試- JVM 記憶體模型講解Java面試JVM記憶體模型
- 幽默講解 Linux 的 Socket IO 模型Linux模型
- 多個model共用一個service可以嗎
- OSI 七層模型與 TCP IP 五層模型模型TCP
- OSI七層模型與TCP/IP五層模型模型TCP
- 【AQS面試篇】瞭解ReentrantLock嗎?講講其底層實現AQS面試ReentrantLock
- 手搓大模型Task01:LLama3模型講解大模型
- Django 模型層Django模型
- Django模型層Django模型
- 02 | 編寫Model層程式碼
- 網路七層模型(四層模型)及其區別模型
- 網路七層模型與四層模型區別模型
- 12、flask-模型-modelsFlask模型
- TCP/IP 中的OSI分層模型詳解TCP模型
- ThinkPHP5.0 使用 model 關聯查詢筆記PHP筆記
- iOS_Model層到底怎麼用?iOS
- MOF 四層模型模型
- 大白話聊OSI七層模型和TCP/IP四層模型模型TCP
- DOM (文件物件模型(Document Object Model))物件模型Object
- 盒子模型Box Model簡介模型
- SAP Gateway Service Builder 裡的 OData Model 定義方式GatewayUI
- THINKPHP5 模型使用歷程(一)PHP模型
- THINKPHP5 模型使用歷程(二)PHP模型