thinkphp模型层Model、Logic、Service讲解

简介: thinkphp模型层Model、Logic、Service讲解 时间:2014-08-24 15:54:56   编辑:一切随缘   文章来源:php教程网 已阅读:771 次           js特效源码,就从这里开始     我有疑问【PHP186论坛提问】 jS游戏桌球jS射击游戏CS 1.

thinkphp模型层Model、Logic、Service讲解

时间:2014-08-24 15:54:56   编辑:一切随缘   文章来源:php教程网  已阅读:771 次
 
 

        thinkphp模型层Model、Logic、Service讲解

        ThinkPHP支持模型的分层 ,除了Model层之外,我们可以项目的需要设计和创建其他的模型层。

        通常情况下,不同的分层模型仍然是继承系统的\Think\Model类或其子类,所以,其基本操作和Model类的操作是一致的。

        例如在Home模块的设计中需要区分数据层、逻辑层、服务层等不同的模型层,我们可以在模块目录下面创建Model、Logic和Service目录,把对用户表的所有模型操作分成三层:

            数据层:Home\Model\UserModel 用于定义数据相关的自动验证和自动完成和数据存取接口
            逻辑层:Home\Logic\UserLogic 用于定义用户相关的业务逻辑
            服务层:Home\Service\UserService 用于定义用户相关的服务接口等

        三个模型层的定义如下:

        Model类:Home\Model\UserModel.class.php

            namespace Home\Model;
            class UserModel extends \Think\Model{
            }

        实例化方法:D('User');

        Logic类:Home\Logic\UserLogic.class.php

            namespace Home\Logic;
            class UserLogic extends \Think\Model{
            }

        实例化方法:D('User','Logic');

        Api类:Home\Api\UserApi.class.php

            namespace Home\Api;
            class UserApi extends \Think\Model{
            }

        实例化方法:D('User','Api');

        D方法默认操作的模型层由DEFAULT_M_LAYER参数配置,我们可以改变默认操作的模型层为Logic层,例如:

            'DEFAULT_M_LAYER' => 'Logic', // 默认的模型层名称

        这样,当我们调用:

            $User = D('User');

        的时候其实是实例化的 UserLogic类,而不是UserModel类。
 

目录
相关文章
|
7月前
|
缓存
关于 Spartacus ProdutList Component Service model$ 的填充逻辑
关于 Spartacus ProdutList Component Service model$ 的填充逻辑
31 0
|
7天前
|
SQL 前端开发 Java
java为什么要分为service层,dao层,controller层和Entity层等?
java为什么要分为service层,dao层,controller层和Entity层等?
44 0
|
7月前
|
存储 前端开发 Java
Service 层异常抛到 Controller 层处理还是直接处理?
Service 层异常抛到 Controller 层处理还是直接处理?
357 1
|
9月前
|
前端开发 Java Spring
controller层注入的service为null
controller层注入的service为null
104 0
|
11月前
|
SQL 前端开发 JavaScript
JAVA框架的层级和各层理解 controller,service,dao,mapper,model等层和各包的作用
JAVA框架的层级和各层理解 controller,service,dao,mapper,model等层和各包的作用
501 0
|
前端开发 JavaScript 数据处理
mvc深刻理解,logic,service,model层的作用
mvc深刻理解,logic,service,model层的作用
300 0
|
Java 数据库连接 数据库
【知识】View层、Controller层、Service层、Dao层的区别以及对应的功能
【知识】View层、Controller层、Service层、Dao层的区别以及对应的功能
243 0
|
对象存储
SAP Gateway Service Builder 里的 OData Model 定义方式
SAP Gateway Service Builder 里的 OData Model 定义方式
101 0
SAP Gateway Service Builder 里的 OData Model 定义方式
|
SQL 前端开发 Java
JavaWeb - Action + Service + Dao 三层功能划分
JavaWeb - Action + Service + Dao 三层功能划分
127 0
|
IDE Java 开发工具
Service 层需要实现接口吗?
前几天看技术交流群的话题,又刷到了「Service 层和 Dao 层真的有必要每个类都加上接口吗?」这个问题,之前简单回答了一波,给出的观点是「看情况」 现在结合我参与的项目以及阅读的一些项目源码来