科普:何谓表前缀

前言

基本上,我现在写文章都会优先从 “实验室” 同学的疑惑为切入点,今天也不例外。

最近,有几个同学到了 TP框架 的独立开发阶段,在创建数据表、数据模型、处理表关联时,他们经常为表前缀而困惑。

先讲一个故事

学习的本质,是为了炫耀

程序员小王:看,http://127.0.0.1 我做的网站,我厉害吧?

打酱油小明:咦?这个网页打不开啊?

程序员小王:哦,只能在我自己的电脑打开,要不我搬电脑找你去吧?

打酱油小明:滚……

所以,你必须把代码上传到服务器

以前,服务器是很贵的,一台服务器托管到机房,一年要大几万。

现在,同学们多幸福啊,一个VPS每个月只要几十块,你做的网站分分钟就能上传到服务器分享给别人。

以前,买不起服务器怎么办?

团购啊! 找100个人共同出资买台服务器,然后每个人分一个域名、一个数据库。(这是重点

PS:其实都是资本家买服务器,然后分别向大家销售 “虚拟主机”,你可以称呼他们为:虚拟主机服务商。

每个人只有一个数据库

上面的这句话是重点。

会有什么影响?

如果你同时有多套程序,他们必须共用一个数据库。

那有怎么样?

如果两套程序都有一个数据表叫: 会冲突!!!

那怎么办?

给数据表改名,分别叫

a_users

b_users

这就是表前缀

a 程序的所有数据表都用 “a” 开头

b 程序的所有数据表都用 “b” 开头

结论

表前缀,就是普通的数据表名。

专门用来防止 。

现代编程,表前缀还有用吗?

毕竟服务器这么便宜

表前缀的用途已经越来越少了,多数情况下,你可以忽略它。

如果你做的是开源程序

也可以保留这个功能,毕竟以防万一。

TP框架中的 表前缀

TP框架是支持表前缀的

在 中,找到配置项 , think_ 就是表前缀。

如此一来,所有的数据表,名称必须以 think_ 开头,否则会提示 数据表不存在!

重点来了,数据模型怎么命名?

数据表的完整名,减去 ,就是你的模型名;

假设,配置的表前缀为 think_

表名 think_user 模型名 User

表名 think_xx_user 模型名 XxUser

关于模型大小写

TP框架中,采用驼峰法命名驼峰(每个单词的首字母大写)

关于下划线

模型名不包含下划线,并且下划线之后的首字母必须大写。

表名 think_xx_user 模型名 XxUser(找重点)

以上

都可以在 TP 手册中找到。

总结

因为实验室里,我给他们提供了远程数据库,并且所有人共用一个数据库。

所以我要求每个人创建数据表时,以自己的名字缩写为前缀。

为什么他们会晕?

因为他们没有配置 ,他们的表前缀 tp 框架不承认,再加上下划线的干扰,他们就完全搞不清“数据模型”应该叫什么了,哈哈哈

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180126B05DMO00?refer=cp_1026

同媒体快讯

扫码关注云+社区