`
zhxie
  • 浏览: 9340 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

thinkPHP中连接数据库实例化方法D()和M()的区别

 
阅读更多

连接上数据库后,我们需要从数据库里操作数据,那么就需要实例化模型类。在ThinkPHP 中,提供了Model 基类处理,也可以使用M()方法。

格式如下:

1、

$user = new Model('User');     实例化Model类,传一个数据表名

var_dump($user);   显示变量结构

2、

$user = M('User');   使用Model基类(法1)要导入命名空间,使用M()方法不需要

3、

使用Usermodel

这种模型类必须定义

例如:

//User模型类  eg.UserModel.class.php文件
namespace Home\Model;
use Think\Model;
class UserModel extends Model {}
创建了UserModel 模型类后,控制器那头就可以直接声明。
//UserController.class.php
$user = new UserModel();
var_dump($user->select());

注意:  UserModel 模型类没有指定任何表即可直接访问。因为这种模型类基本是直
接操作数据表的,所以在命名规范上和数据表名是对应的。

模型类与数据表对应规范

模型名 对应的数据表(假设前缀是think_)
UserModel think_user
UserTypeModel think_user_type

 

 

 

D()方法是对应于使用了具体的模型类

格式为$user = D('User');     //实例化UserModel类
注意:使用D()方法比直接使用模型类更加的智能,如果在\Home\Model\UserModel 找
不到该模型类,那么就会去公共模块下找\Common\Model\UserModel 去找。如果还找不到,
就会直接实例化基类Model()类,也就是等同于使用M()方法。

分享到:
评论

相关推荐

    ThinkPHP实现多数据库连接的解决方法

    总的来说,ThinkPHP实现多数据库连接的核心在于正确配置数据库参数,创建空模型,以及使用 `addConnect()` 添加连接,并通过连接编号在模型实例化时指定使用的数据库。理解并熟练掌握这些步骤,将使你在处理多数据库...

    ThinkPHP之M方法实例详解

    M方法用于实例化一个基础模型类,和D方法的区别在于: 1、不需要自定义模型类,减少IO加载,性能较好; 2、实例化后只能调用基础模型类(默认是Model类)中的方法; 3、可以在实例化的时候指定表前缀、数据库和...

    ThinkPHP函数详解之M方法和R方法

    在ThinkPHP框架中,M方法和R方法是两个非常重要的函数,分别用于模型的实例化和控制器操作方法的调用。下面,我们将详细介绍这两个方法的使用场景、功能特点以及具体用法。 首先来看M方法。在ThinkPHP框架中,M方法...

    thinkphp 开发实例

    - 如果模型中有自定义的方法,则可以通过`D()`函数来实例化,例如:`$model = D('News');`。 - **路由设置**: - ThinkPHP支持灵活的URL路由规则,URL结构通常为`http://服务器地址/项目地址/模块名称/操作名称`...

    ThinkPHP3.2.1知识点

    首先,M和D方法是ThinkPHP框架中用于实例化模型的两种不同方式。 M方法提供了一种快速访问数据模型的方法,它的性能比使用D方法要高,因为它不需要加载具体的模型类。M方法直接实例化数据模型的父类,适用于那些...

    ThinkPHP3.1新特性之多数据库操作更加完善

    这种方式允许连接不同类型的数据库,但必须使用`D`方法实例化,并且无法动态设定。 3. **模型实例化指定连接**:在实例化模型时,可以明确指定数据库连接,例如: ```php $User = new Model('User','think_','...

    thinkphp 字母函数详解T/I/N/D/M/A/R/U

    - M函数用于实例化一个没有模型文件的Model,支持指定基础模型和数据库连接。 - 使用格式:M($name='',$tablePrefix='',$connection='') - 示例:M('User','user_','mysql')将实例化一个名为User的Model,表前缀...

    ThinkPhp单字母快速方法总结

    通过以上总结,我们可以看到ThinkPHP框架提供了丰富的单字母快捷函数来简化开发过程中的常见任务,如URL组装、模型实例化、输入获取等。这些函数的使用大大提高了开发效率,并使得代码更加简洁易懂。

    tp数据库操作[文].pdf

    - D()和M()方法在3.1.3版本中是简化new操作的方式,M()方法直接实例化Model父类。 6. **使用原生SQL**: - TP模型支持原生SQL操作,提供`query()`和`execute()`两个方法。 - `query()`用于查询,返回数据集,可...

    thinkphp 简单学习

    - **跨模块调用**:即在一个控制器中实例化另一个控制器并调用其方法。这有助于减少代码重复,提高代码重用性。 #### 二、配置文件详解 配置文件对于ThinkPHP的应用至关重要,主要包括以下几个方面: 1. **核心...

    tp数据库操作参考.pdf

    `D()`和`M()`之间的主要区别在于`D()`在TP3.1.3版本中是对`new`操作的简化,而`M()`直接实例化Model父类。它们都可以用于操作没有具体Model模型文件的数据表。 在某些情况下,原生SQL操作是必要的。TP框架支持使用...

    tp数据库操作[定义].pdf

    `D()`和`M()`方法在TP 3.1.3版本中有所不同:`D()`是对`new`操作的简写,而`M()`则直接实例化`Think\Model`的父类。两者都可以在没有对应Model类的情况下直接操作数据表。 在某些场景下,可能需要使用原生SQL语句。...

    ThinkPHP3基础知识文档

    - **获取模型实例**:使用`M()`或`D()`方法。 ##### 调用视图 - **渲染视图**:使用`display()`或`assign()`方法。 ##### 处理响应 (ajax返回) - **`$this->ajaxReturn()`**:用于处理Ajax请求的响应。 ##### ...

    ThinkPHP3.2.2完全开发手册

    - **模型实例化**:提供了多种方式实例化模型类,包括直接实例化、通过`D`方法、`M`方法等。 - **连接数据库**:支持通过全局配置、模型类定义或实例化时定义的方式连接数据库。 - **连贯操作**:支持链式调用的...

    LAMP架构在Ubuntu10.04上的搭建

    M函数是ThinkPHP内置的实例化模型的方法,它允许用户直接操作底层的Model类,实现基本的CRUD(创建Create、读取Read、更新***e、删除Delete)操作。而D函数则适用于需要快速实例化模型的场景,它允许用户通过简单的...

    ThinkPHP框架实现FTP图片上传功能示例

    - ftp_upload()函数为FTP上传文件函数,使用ThinkPHP框架中的Ftp类实例化FTP对象,并执行上传操作。 6. 安全性和最佳实践: - 在配置文件中设置FTP账号和密码时,应该保持数据的保密性,避免在公共代码库中暴露...

Global site tag (gtag.js) - Google Analytics