php 数据中心,数据层 · Thinkphp 独立数据中心使用手册 · 看云
[TOC]
## 概述
数据层是用来直接操作数据表的,数据层的方法都是原子的操作,应避免在数据层中处理具体业务流程,具体业务流程应在逻辑层进行处理。
## 数据层类定义
数据层类通常需要继承核心的\think5\Model类或其子类,下面是一个User数据层类的定义:
~~~
namespace dm\[module]\model;
use think5\Model;
use function think5\out;
class User extends Model
{
public function get_user_info(){
//获取用户表信息代码
return out('获取成功',1,$data);
}
}
~~~
User数据层类对应的文件位置是
~~~
module/[module_name]/model/User.php
~~~
数据层类的命名规则是除去表前缀的数据表名称,采用驼峰法命名,并且首字母大写,例如
| 数据层类名 | 约定对应数据表(假设数据库的前缀定义是 d_) |
| -- | -- |
| User | d_user |
| UserType | d_user_type |
## 数据层类核心方法
1. 连贯操作:$this->where()->...->order()->limit()->select()
2. 定义表别名可以使用:$this->alias('a')->...
3. 应尽量避免在数据层中调用其他数据层代码(当前文件的private方法除外)
## 标准返回结果
1. 返回数据应使用标准返回方法:think5/out();建议在类头部声明use function think5\out,以便在类中直接使用out()方法
2. think5\out() 有三个参数,第一个参数为返回的提示信息;第二个参数为方法执行后的状态(一般1为操作成功,0为操作失败,当然也可以定其他值以表达更多状态),状态参数默认为0;第三个参数为想要返回的数据集,默认为空数组
3. 如果需要使用数据库记录运行时发生的错误信息,则可使用think5/outlog()进行返回,该函数的参数与返回模式与think5/out()相同,同时它可以记录当前执行的方法名、参数以及出错信息以供后续处理
php 数据中心,数据层 · Thinkphp 独立数据中心使用手册 · 看云相关推荐
- php记录读取数据类型,数据读取 · ThinkPHP 3.2.3开发手册 · 看云
# 数据读取 在ThinkPHP中读取数据的方式很多,通常分为读取数据.读取数据集和读取字段值. 数据查询方法支持的连贯操作方法有: 连贯操作 作用 支持的参数类型where 用于查询或者更新条件的定 ...
- php tp3.2 添加表内容,数据创建 · ThinkPHP3.2.3完全开发手册 · 看云
在进行数据操作之前,我们往往需要手动创建需要的数据,例如对于提交的表单数据: ~~~ // 获取表单的POST数据 $data['name'] = $_POST['name']; $data['ema ...
- 数据缓存 php,数据缓存 · ThinkPHP3.2.3完全开发手册 · 看云
在ThinkPHP中进行缓存操作,一般情况下并不需要直接操作缓存类,因为系统内置对缓存操作进行了封装,直接采用S方法即可,例如: ## 缓存初始化 ~~~ // 缓存初始化 S(array('type ...
- php心跳检测实时数据,心跳检测 · swoole手册 · 看云
# 心跳 注意:长链接应用必须加心跳,否则链接可能由于长时间未通讯被路由节点强行断开. 心跳作用主要有两个: 1.客户端定时给服务端发送点数据,防止连接由于长时间没有通讯而被某些节点的防火墙关闭导致连 ...
- thinkphp+mysql+join+where_join · ThinkPHP5.1完全开发手册 · 看云
`JOIN`方法用于根据两个或多个表中的列之间的关系,从这些表中查询数据.join通常有下面几种类型,不同类型的join操作会影响返回的数据结果. - **INNER JOIN**: 等同于 JOIN ...
- php thinkphp中间件,中间件 · ThinkPHP6.0完全开发手册 · 看云
中间件主要用于拦截或过滤应用的`HTTP`请求,并进行必要的业务处理. >[danger] 新版部分核心功能使用中间件处理,你可以灵活关闭.包括Session功能.请求缓存和多语言功能. ## ...
- 设计数据层组件并在层间传递数据
Angela Crocker.Andy Olsen 和 Edward Jezierski Microsoft Corporation 2002年8月 适用于: Microsoft® .NET ...
- 【电商数仓】数仓搭建之明细数据(data warehouse detail -- DWD)层(用户行为数据之曝光、错误日志表、数据加载脚本,业务数据之评价、订单事实表)
文章目录 一 曝光日志表 1 思路解析 2 建表语句 3 数据导入 4 查看数据 二 错误日志表 1 思路解析 2 建表语句 3 数据导入 4 查看数据 三 DWD层用户行为数据加载脚本 四 DWD层 ...
- mysql 数据展示装置_实时生成数据宽表的方法和装置与流程
本发明涉及计算机技术领域,尤其涉及一种实时生成数据宽表的方法和装置. 背景技术: 数据仓库是面向主题的.集成的.相对稳定的.随时间不短变化得数据集合,用以支持经营管理中的决策制定.数据仓库中的数据面向 ...
最新文章
- 网电空间战 6-如何进攻
- LuManager使用中典型问题整理集合
- eclipse的默认(打开)编辑器的更改
- dosubmit 成功不成功_供卵试管不成功的原因是什么?一般几次成功?
- 经典面试题(13):如何理解和应用JavaScript闭包?
- 【matlab-1】工具箱、窗口、变量的存储与加载、帮助
- .net Cache 需要注意的地方
- 一、Java多线程基础
- docker安装awvs13
- 四 H264解码输出yuv文件
- 几何分布的期望和方差公式推导_二项分布与负二项分布的均值与方差推导
- 进一步解析ie环境下z-index问题解决方法
- Python练习:炉石传说荣誉室返尘最优策略
- 叶雕——叹为观止的艺术!
- 华东师范大学计算机模拟试题,华东师范大学计算机机试真题
- NIOS II 内核使用 之 代码保存FLASH(EPCSX芯片)
- GPT系列简介与gpt训练(nanoGPT)
- 如何提升网站的浏览率
- 挖藕!模拟sql抓取qq密码
- BPM是什么意思?BPM的优势及好处有哪些?
热门文章
- the virtual machine is configured for 64-bit guest operating systems
- Nginx多域名多Server反向代理配置
- java.lang.NoClassDefFoundError Adding a jar to an RCP application
- Linux下CMake简明教程
- http、TCP/IP协议与socket之间的区别
- android跳转到打电话,Android 应用跳转到拨打电话界面或qq进行聊天(qq咨询)
- html 服务器运行exe,html运行exe文件,兼容浏览器
- 2019ug最新版本是多少_NX1847:2019年最新版本,从某种意义上来说,也将是终极版本...
- laravel模板写php代码,Laravel框架之blade模板新手入门教程及小技巧
- 047_Unicode对照表十三