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

简要归纳:

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()方法则相反。

posted @ 2018-09-05 11:17  昊晗远昂  阅读(2052)  评论(0编辑  收藏  举报