您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
thinkphp3.2.1学习笔记-模型初步(上)
发布时间:2017-09-19 10:54:46编辑:雪饮阅读()
在应用目录下Common->Conf->config.php中可以进行数据库连接的配置:
'DB_TYPE'=>'mysql',
'DB_HOST'=>'localhost',
'DB_NAME'=>'think',
'DB_USER'=>'root',
'DB_PWD'=>'root',
'DB_PORT'=>3306,
'DB_PREFIX'=>'think_',
使用数据库:
若要在某个控制器中使用到数据库,那么就需要在该控制器中use控制器类后还要use一个数据库类:
use Think\Model;
在操作(方法)中使用数据库:
$user=new Model("user");
创建Model基类,传递user表
Model参数:模型名(数据表名)、数据表前缀、数据库连接信息
所以也可以这样创建:
$user=new Model("user","think_","mysql://root:root@localhost/think");
配置文件结合该Model的参数可以进行灵活的各种方式创建。
另外还可以简写如:
$user=M("user");
如果有错误需要调试
可在配置文件中开启页面调试工具,就可以看到错误的调试信息。
'SHOW_PAGE_TRACE'=>true,
这样就完成了一个数据库句柄的创建。
pdo的配置:
pdo也可以操作数据库,而且是比较新的技术。
pdo专用定义:
'DB_TYPE'=>'pdo',
'DB_USER'=>'root',
'DB_PWD'=>'root',
'DB_PORT'=>3306,
'DB_PREFIX'=>'think_',
'DB_DSN'=>'mysql:host=localhost;dbname=think;charset=UTF8',
使用模型基类:
如在home模块中创建一个自定义数据模型。
进入home->model中创建UserModel.class.php:
<?php
namespace Home\Model;
use Think\Model;
class UserModel extends Model{
}
?>
然后在home模块中使用该自定义模型就需要在use控制器类之后use刚才的自定义类:
use Home\Model\UserModel;
然后在操作(方法)中使用:
$user=new UserModel();
这种方式只针对于一个表的操作。如上面的则只是针对user表的。所以在定义该模型类的时候模型名必须是数据中所存在的表名。
在自定义模型中默认情况就是模型名对应的表,但是可以进行相关配置的以修改默认的表,库,前缀等。
<?php
namespace Home\Model;
use Think\Model;
class UserModel extends Model{
protected $tablePrefix='think_';
protected $tableName='user';
protected $trueTableName='think_user';
protected $dbName='think';
}
?>
它们分别是:表前缀,表名,完整表名(表前缀+表名),数据库名
关键字词:thinkphp3.2.1,模型