ThinkPHP学习-3:模型

Model(模型)部分主要完成了数据库的连接和数据库内容的加载。其中包括以下内容:

  • 数据库配置
  • 普通方式加载
  • M方法加载
  • D方法加载

1. 创建数据库

通过url,访问php编辑界面。http://localhost/phpmyadmin

首先创建数据库,数据库名为tp (记住这个名字,后面的数据库配置中会用到)助于选择utf8_general_ci类型。

1

新建数据表

2

建立数据库前缀为tp_,记住这个前缀,后续配置中会用到

3

 

数据库中包含id, user, email, date等信息,如上图。

注意:数据库类型选择。

再插入一些用户数据信息,只要填写user, email, 日期三个字段即可。

tp可以自动连接包括MongoDb, mySQL等多种数据库。

2. 在Controller中连接数据库

2.1 配置数据库信息

在在全局配置\common\conf\config.php中,插入下面的mysql数据库配置信息

//全局配置定义
'DB_TYPE' => 'mysql',    //数据库类型
'DB_HOST' => 'localhost',
'DB_NAME' => 'tp',        //数据库名称
'DB_USER' => 'root',        //用户名
'DB_PWD'  => '',            //密码,这里为空
'DB_PORT' => 3306,        //数据库端口
'DB_PREFIX' => 'tp_',    //数据库表前缀

2.2 连接数据库

在\Home\Controller\UserController.class.php中,首先导入model

use Think\Model;

再创建Model基类,传递User参数,并打印表单

public function model(){
        //创建model基类,传递user表
        $user = new Model('User');
        var_dump($user);
    }

通过URL: http://localhost/thinkphp/index.php/Home/User/Model, 数据库中全部内容被打印出来

ThinkPHP学习-3:模型_第1张图片

这里表示数据库连接成功。

通过select方法,可仅仅显示user信息。

var_dump($user->select());

ThinkPHP学习-3:模型_第2张图片

 为了便于调试,在全局配置\common\conf\config.php中,开启调试开关

//页面调试工具
    'SHOW_PAGE_TRACE' => true,

 上面是采用new Model('User')方法,连接数据库。

其中Model类可以传递三个参数:数据库名,前缀名,数据库连接。

//$user = new Model ('User','tp_','database connecton');

3. M方法连接数据库

采用m方法,不需要导入命名空间。

$user = M('User');

4. 创建UserModel连接

在\Home\Model\目录下,创建UserModel.class.php,并创建以下内容

<?php
namespace Home\Model;
use Think\Model;
//创建UserModel空类
class UserModel extends Model {}

在控制器中,可以直接采用UserModel,不再需要'User'参数

导入UserModel

use Home\Model\UserModel;

创建UserModel

$user = new UserModel();

注意:这里类名UserModel,其中User必须和前面的数据库名称对应。如果数据库名称为Myuser,则创建的类名为MyuserModel。如果数据库名称为user_type,则类名为UserTypeModel

 

var_dump($user->getDbFields());


显示缓存中的字段信息。

这时如果修改了数据库信息,前端是无法反应出来的。仅仅在删除缓存之后,才能够正确显示结果。

因此开发阶段,数据库经常变更,因此无需缓存。在发布之后,采用缓存方式,可以提高性能。

你可能感兴趣的:(ThinkPHP学习-3:模型)