前言
基本上,我现在写文章都会优先从 “实验室” 同学的疑惑为切入点,今天也不例外。
最近,有几个同学到了 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 框架不承认,再加上下划线的干扰,他们就完全搞不清“数据模型”应该叫什么了,哈哈哈
领取专属 10元无门槛券
私享最新 技术干货