ThinkPHP框架 _ 学习9
Posted 阿鸠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkPHP框架 _ 学习9相关的知识,希望对你有一定的参考价值。
【连接数据库配置】
convertion.php
config.php
- 在config.php做数据库连接配置(在convertion.php文件中选择内容复制,这些内容将覆盖convertion.php的配置)
- 制作model模型
a) model本身就是一个类文件
b) 数据库中的每个数据表都对应一个model模型文件
c) 最简单的数据model模型类 (注意命名空间,不能疏漏)
- 字段缓存设置
tp框架执行过程中会使用到数据表中的字段信息,通过sql语句可以查询”show colums from table” ,处于性能考虑,可以把字段缓存,避免每次重复执行sql语句。
- 可以根据情况对当前的model模型进行个性化设置
- 数据库表的前缀是会了让数据库的设计显得更加的规范,而且可以避免是数据表格访问的时候代码的复杂
- 在入口文件定义一个调试输出函数,便于系统开发使用(可以在Index.php入口文件中定义)
【实例化model的三种方式】
- $goods = new 命名空间GoodsModel();
- $goods = D(‘模型标志’);
*实例化模型对象的时候注意对象的命名,这里涉及到数据库表格的访问的
a) $goods = D(“Goods”);
b) 该$goods是父类Model的对象,但是操作的数据表还是sw_goods
c) $obj = D(); 实例化Model对象,没有具体操作数据表,与M()方法效果一致
- $obj = M();
a) 实例化父类Model
b) 可以直接调用父类Model里边的属性,获得数据库相关操作
c) 自定义model就是一个空壳,没有必要实例化自定义model
d) $obj = M(‘数据表标志’); 实例化Model对象,实际操作具体的数据表
$obj = D(标志);
$obj = D();
$obj = M(标志);
$obj = M();
D()和M()方法的区别:
前者是tp3.1.3里边对new操作的简化方法;
后者在使用就是实例化Model父类
两者都在函数库文件定义ThinkPHP/Common/functions.php
注意:如果没有对应的model模型文件类,也可以直接实例化model对象进行操作
D()和M()方法都可以实例化操作一个没有具体model模型类文件的数据表。
以上是关于ThinkPHP框架 _ 学习9的主要内容,如果未能解决你的问题,请参考以下文章