欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ThinkPHP中I('post.')与create()方法的对比

程序员文章站 2022-04-14 21:55:44
简要归纳: 1、二者都可用来接收post表单提交的数据。 2、I('post.')方法可直接接收赋值给变量如$post=I('post.'),create()方法源于父类模型封装,需先实例化父类模型,如:$post=M('Test')->create()。 3、I('post.')方法内置默认过滤方 ......

简要归纳:

1、二者都可用来接收post表单提交的数据。

2、i('post.')方法可直接接收赋值给变量如$post=i('post.'),create()方法源于父类模型封装,需先实例化父类模型,如:$post=m('test')->create()。

3、i('post.')方法内置默认过滤方法htmlspecialchars可过滤html实体,create()方法需手动创建。

4、create()方法包含一系列 自动验证 自动处理 字段映射等机制(需自定义规则),i('post.')方法无。

5、i('post.')方法可接收所有表单字段,create()方法创建的数据对象会自动过滤掉与数据表中字段不匹配的表单字段。

6、i('post.')方法多用于字段数据较少,不需要一系列自动功能的场景,create()方法则相反。