模型分層

ThinkPHP支持模型的分層 ,除了Model層之外,我們可以項(xiàng)目的需要設(shè)計和創(chuàng)建其他的模型層。

通常情況下,不同的分層模型仍然是繼承系統(tǒng)的\think\Model類或其子類,所以,其基本操作和Model類的操作是一致的。

例如在index模塊的設(shè)計中需要區(qū)分?jǐn)?shù)據(jù)層、邏輯層、服務(wù)層等不同的模型層,我們可以在模塊目錄下面創(chuàng)建model、logicservice目錄,把對用戶表的所有模型操作分成三層:

  • 數(shù)據(jù)層:app\index\model\User 用于定義數(shù)據(jù)相關(guān)的自動驗(yàn)證和自動完成和數(shù)據(jù)存取接口
  • 邏輯層:app\index\logic\User 用于定義用戶相關(guān)的業(yè)務(wù)邏輯
  • 服務(wù)層:app\index\service\User 用于定義用戶相關(guān)的服務(wù)接口等

三個模型層的定義如下:

app\index\model\User.php

namespace app\index\model;

use think\Model;

class User extends Model
{
}

實(shí)例化方法:\think\Loader::model('User')

Logic類:app\index\logic\User.php

namespace app\index\logic;

use think\Model;

class User extends Model
{
}

實(shí)例化方法:\think\Loader::model('User','logic');

Service類:app\index\service\User.php

namespace app\index\service;

use think\Model;

class User extends Model
{
}

實(shí)例化方法:\think\Loader::model('User','service');

文檔最后更新時間:2018-04-26 10:08:09

文檔
目錄

深色
模式

切換
寬度