首先给大家介绍ThinkPHP函数详解:M方法
M方法用于实例化一个基础模型类,和D方法的区别在于:
1、不需要自定义模型类,减少IO加载,性能较好;
2、实例化后只能调用基础模型类(默认是Model类)中的方法;
3、可以在实例化的时候指定表前缀、数据库和数据库的连接信息;
D方法的强大则体现在你封装的自定义模型类有多强,不过随着新版ThinkPHP框架的基础模型类的功能越来越强大,M方法也比D方法越来越实用了。
M方法的调用格式:
M('[基础模型名:]模型名','数据表前缀','数据库连接信息')
我们来看下M方法具体有哪些用法:
1、实例化基础模型(Model) 类
在没有定义任何模型的时候,我们可以使用下面的方法实例化一个模型类来进行操作:
|
1
2
3
4
|
//实例化User模型
$User
= M(
'User'
);
//执行其他的数据操作
$User
->select();
|
这种方法最简单高效,因为不需要定义任何的模型类,所以支持跨项目调用。缺点也是因为没有自定义的模型类,因此无法写入相关的业务逻辑,只能完成基本的CURD操作。
|
1
|
$User
= M(
'User'
);
|
其实等效于:
|
1
|
$User
=
new
Model(
'User'
);
|
表示操作think_user表。M方法和D方法一样也有单例功能,多次调用并不会重复实例化。M方法的模型名参数在转换成数据表的时候会自动转换成小写,也就是说ThinkPHP的数据表命名规范是全小写的格式。
2、实例化其他公共模型类
第一种方式实例化因为没有模型类的定义,因此很难封装一些额外的逻辑方法,不过大多数情况下,也许只是需要扩展一些通用的逻辑,那么就可以尝试下面一种方法。
|
1
|
$User
= M(
'CommonModel:User'
|

本文详细介绍了ThinkPHP框架中的M方法和R方法。M方法用于实例化模型,主要特点是不需要自定义模型类,支持基础模型类的操作,可指定表前缀和数据库连接信息。而R方法则用于跨控制器调用操作方法,增强了A方法的功能,支持跨分组和项目的调用,并能指定控制器层。
最低0.47元/天 解锁文章
294

被折叠的 条评论
为什么被折叠?



