在config.php做数据库连接配置
<?phpreturn array(//'配置项'=>'配置值''SHOW_PAGE_TRACE'=>true,/* 数据库设置 */'DB_TYPE'=> 'mysql',// 数据库类型'DB_HOST'=> 'localhost', // 服务器地址'DB_NAME'=> 'xiangmu',// 数据库名'DB_USER'=> 'root',// 用户名'DB_PWD'=> '123',// 密码'DB_PORT'=> '', // 端口'DB_PREFIX' => '', // 数据库表前缀'DB_PARAMS'=> array(), // 数据库连接参数 'DB_DEBUG' => TRUE, // 数据库调试模式 开启后可以记录SQL日志'DB_FIELDS_CACHE' => false, // 启用字段缓存'DB_CHARSET' => 'utf8',// 数据库编码默认采用utf8'DB_DEPLOY_TYPE' => 0, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)'DB_RW_SEPARATE' => false, // 数据库读写是否分离 主从式有效'DB_MASTER_NUM' => 1, // 读写分离后 主服务器数量'DB_SLAVE_NO' => '', // 指定从服务器序号);
实例化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