tp框架连接数据库配置及Model数据模型层

  1. 在config.php做数据库连接配置
  2. <?php
    return 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的三种方式:

    1. $goods =  new  命名空间GoodsModel(); 
    2. $goods = D(‘模型标志’);   

    a)         $goods = D(“Goods”);

    b)        该$goods是父类Model的对象,但是操作的数据表还是sw_goods

    c)         $obj = D();  实例化Model对象,没有具体操作数据表,与M()方法效果一致

    1. $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

原文地址:https://www.cnblogs.com/yi11/p/7169974.html