tpframe基類介紹

2018-03-23 11:54 更新

因為tpframe沒有更改任何thinkphp5的特性,所以你完全可以寫thinkphp5任何的語法來進行二次開發(fā)

題外話:一個系統(tǒng)好與不好,不能全說是什么好就是什么好,幾個方面來看,性能?可擴展性?可讀性?代碼之間的耦合度?可維護性?等等...

你寫的代碼,李四可能會接手,張三寫的代碼,你也可能會接手,這是最平常不過的事情了,那么這個時候上面的幾個方面除了可讀性重要一點外,其它貌似都顯得不是很重要,要想讓一個代碼所有人都能很快速的上手,那就得遵循一些代碼規(guī)范了

但是為了不破壞整個系統(tǒng)的結(jié)構(gòu),我建議按如下規(guī)范對TPFrame進行二次開發(fā)

層次結(jié)構(gòu)要分明

1、控制層

只參與數(shù)據(jù)轉(zhuǎn)發(fā),服務調(diào)用,數(shù)據(jù)渲染之類的操作

2、服務層

數(shù)據(jù)驗證,邏輯調(diào)用,后期數(shù)據(jù)處理操作

3、邏輯層

數(shù)據(jù)庫CURD操作,邏輯操作

4、驗證層

數(shù)據(jù)合法性校驗

5、模型層

自動完成、數(shù)據(jù)修改等操作(其實真正的CURD也是在模型層)

6、視圖層

頁面展示

基類說明

所有層的基類都存在于common模塊層,這樣的目的是為了共用一些數(shù)據(jù),也便于每個層自己去擴展自己的功能

控制器基類

類名:ControllerBase

所有控制器類都繼承于ControllerBase

打開ControllerBase類,你可以看到里面有很多的一些控制器里面要用的常量,可能會用到的一些操作都在里面。

寫法:

<pre> <?php namespace app\frontend\controller; class Index extends FrontendBase { ... }</pre>

可以看到這里繼承是FrontendBase,而基本沒有繼承ControllerBase,為什么?我上面說了,是為了便于每個模塊的擴展,而FrontendBase類

<pre> <?php namespace app\frontend\controller; use app\common\controller\ControllerBase;

class FrontendBase extends ControllerBase { } </pre>

直接可以看到,該類直接繼承于ControllerBase,也沒有進行任何的功能操作

服務層

服務器的基類在common模塊sevice里的ServiceBase,所有的服務類也要繼承于它,這里同樣的道理,都采用的是間接的繼承方式

ServiceBase > FrontendBase > ..

后面繼承前面的,一個基本的服務類

<pre><?php // +---------------------------------------------------------------------- // | Author: yaoyihong <510974211@qq.com> // +----------------------------------------------------------------------

namespace app\frontend\service; use \tpfcore\Core;

class User extends FrontendBase { .... } </pre>

邏輯層

邏輯層的方式類似,繼承關(guān)系如下:

Model>ModelBase>LogicBase>FrontendBase

可以看出logic實際上繼承的最終類是Model,所以邏輯層的操作CURD,實際上操作的是model層,一個邏輯層代碼案例:

<pre><?php // +---------------------------------------------------------------------- // | Author: yaoyihong <510974211@qq.com> // +----------------------------------------------------------------------

namespace app\frontend\logic; use \tpfcore\Core;

class User extends FrontendBase { .... } </pre>

其它的層相對來說比較簡單,這里就不介紹了

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號