thinkphp模型初步
来源:互联网 发布:网页生成软件 编辑:程序博客网 时间:2024/06/05 08:51
一:创建数据库(两种方法,推荐PDO)
方法一:全局配置定义(在Conf的config.php文件中配置)
//PDO专用定义'DB_TYPE'=>'pdo', //数据库类型'DB_USER'=>'root', //用户名'DB_PWD'=>'12345678', //密码'DB_PREFIX'=>'think_', //数据库表前缀'DB_DSN'=>'mysql:host=localhost;dbname=thinkphp;charset=UTF8',方法二:PDO专用方法
//PDO专用定义'DB_TYPE'=>'pdo', //数据库类型'DB_USER'=>'root', //用户名'DB_PWD'=>'12345678', //密码'DB_PREFIX'=>'think_', //数据库表前缀'DB_DSN'=>'mysql:host=localhost;dbname=thinkphp;charset=UTF8',
二:实例化模型
$user = new Model("user"); //方法一$user = new Model("user",'think_','mysql:host=localhost;dbname=thinkphp;charset=UTF8');//方法二$user =M("user"); //方法三 不需要new$user = new UserModel();//方法四 需创建User模型类
如果你仅仅使用CURD 等数据库基本操作,我们建议使用基于Model 基类的M()方法。使用M()方法由于不需要加载具体的模型类(比如UserModel 类),所以性能会更高。
当然,如果有必要使用具体的模型类时,ThinkPHP 还提供了D()方法来直接是实例化模型类,并且还可以免去引入命名空间等操作。
$user = new D("user");//智能 前后端 Model$user = new D("Admin\user");//智能$user = M(); //有时,你可能想使用原生的 SQL 语句进行操作数据库。那么可以采用实例化空模型基类或者空 M()方法。var_dump($user->query("select * from think_user WHERE user = 'lzh'"));
三.字段定义(了解)
// 关闭字段缓存
'DB_FIELDS_CACHE'=>false//开启了调试模式,自动关闭
PS:如果开启缓存状态,新增了字段,那么可能新字段无法刷新出来,必须删除
/Data/_fields 文件夹,重新获取字段。
//查看字段结构
var_dump($user->getDbFields());
你也可以使用手动定义数据表字段的方式取代字段缓存方式,这种方式可以提高性能,避免IO 开销。
//手动定义数据表字段,_pk表示主键
class UserModel extends Model { protected $fields = array('id', 'user', '_pk'=>'id'); }//type 定义每个字段的类型,可以永远字段验证
class UserModel extends Model { protected $fields = array('id', 'user', '_pk'=>'id', 'type'=>array('id'=>'smallint','user'=>'varchar'));}
0 0
- thinkphp模型初步
- ThinkPHP模型
- ThinkPHP 模型
- thinkphp模型
- ThinkPHP - 模型
- ThinkPHP 初步认识
- 初步接触thinkphp
- ThinkPHP初步整理
- Thinkphp 模型->关联模型
- thinkphp 视图模型 关联模型
- thinkphp 模型验证
- thinkphp 模型验证
- thinkphp模型分组
- 【Thinkphp教程】模型定义
- thinkphp 关联模型
- 模型实例化 thinkphp
- ThinkPHP 引入自定义模型
- ThinkPHP关联模型操作
- Adaboost算法原理分析和实例+代码(简明易懂)
- java程序中获得Class对象的3种方式
- 803A Maximal Binary Matrix
- 《STL源码剖析》笔记(一)组件之间的关系
- Scala介绍
- thinkphp模型初步
- Java笔记之自动装/拆箱以及类型转换
- Spring Boot(三):Eclipse中引入Spring IDE环境--Spring tool suite
- 1113. Integer Set Partition 解析
- 学习JVM(Java内存管理和OOM)
- oracle函数2
- Android AsyncTask
- Week Training: 516 Longest Palindromic Subsequence
- Java笔记之常用容器浅析