thinkphp入门学习笔记(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yingzhicai/article/details/52108157

读取数据库

1.配置数据库

  1. 修改系统默认配置,在ThinkPHP/Conf/Conversion.php下
  /* 数据库设置 */
    'DB_TYPE'               =>  'mysql',     // 数据库类型
    'DB_HOST'               =>  'localhost', // 服务器地址
    'DB_NAME'               =>  'dbershou',  // 数据库名
    'DB_USER'               =>  'root',      // 用户名
    'DB_PWD'                =>  '',          // 密码
    'DB_PORT'               =>  '80',        // 端口
    'DB_PREFIX'             =>  '',          // 数据库表前缀
    'DB_PARAMS'             =>  array(),     // 数据库连接参数    
    'DB_DEBUG'              =>  TRUE, // 数据库调试模式 开启后可以记录SQL日志
    'DB_FIELDS_CACHE'       =>  true,        // 启用字段缓存
    'DB_CHARSET'            =>  'utf8',      // 数据库编码默认采用utf8
  1. 也可以配置config.php在Application/Common/Conf/目录下
<?php
return array(
    //'配置项'=>'配置值'
    //数据库配置信息
    'DB_TYPE'   => 'mysql', // 数据库类型
    'DB_HOST'   => 'localhost', // 服务器地址
    'DB_NAME'   => 'thinkphp', // 数据库名
    'DB_USER'   => 'root', // 用户名
    'DB_PWD'    => '', // 密码
    'DB_PORT'   => 3306, // 端口
    'DB_PREFIX' => '', // 数据库表前缀
    'DB_CHARSET'=> 'utf8', // 字符集
);

2.了解D方法和M方法的实例化的区别

D方法的参数就是模型的名称,并且和模型类的大小写定义是一致的
D方法可以自动检测模型类,如果存在自定义的模型类,则实例化自定义模型类,如果不存在,则会实例化系统的\Think\Model基类,同时对于已实例化过的模型,不会重复去实例化。

如果你仅仅是对数据表进行基本的CURD操作的话,使用M方法实例化的话,由于不需要加载具体的模型类,所以性能会更高。参数是数据库的表名。
<?php
namespace Home\Controller;

use Think\Controller;

class IndexController extends Controller
{
    public function index()
    {
        $User = M('tb_user');
        $data = $User->select();
        var_dump($data);
    }
}

如果你仅仅是使用原生SQL查询的话,不需要使用额外的模型类,实例化一个空模型类即可进行操作了

//实例化空模型
$Model = new Model();
//或者使用M快捷方法是等效的
$Model = M();
//进行原生的SQL查询
$Model->query('SELECT * FROM think_user WHERE status = 1');

使用D方法实例化,传入一个模型的名称即可

<?php
namespace Home\Controller;

use Think\Controller;

class IndexController extends Controller
{
    public function index()
    {
        $user = D("User");
        $this->display("User/main_index");  //加载视图
    }

    public function add()
    {
        $user = D("User");
        $user->add();
    }

    public function update()
    {
        $user = D("User");
        $user->update();
    }

}


<?php
namespace Home\Model;

use Think\Model;

class UserModel extends Model
{
    public function index()
    {
        $user = M("user");
        return $user->select();
    }

    public function add()
    {
        $User = M("User"); // 实例化User对象
        $data['username'] = '555';
        $data['password'] = '666';
        $User->add($data);
    }

    public function update()
    {
        $User = M("User"); // 实例化User对象
        // 要修改的数据对象属性赋值
        $User->username = 'ThinkPHP';
        $User->password = '[email protected]';
        $User->where('id=8')->save(); // 根据条件更新记录
    }

}

猜你喜欢

转载自blog.csdn.net/yingzhicai/article/details/52108157