首页 理论教育使用PHPMVC开发实战:create方法

使用PHPMVC开发实战:create方法

【摘要】:在数据库开发中,查询和插入数据是同等重要的,ThinkPHP对数据的插入、更新等都做了高度封装,系统提供create方法,用于创建数据对象。图7-2 create创建数据流程2.create数据操作前面介绍了create方法的运行过程,读者只需要理解即可,在实际应用开发中创建数据的过程是极其简单的。下面将结合示例代码,介绍create方法的实际应用,加深对create方法的认识。一切完成后,此时数据对象存放于内存中,使用add方法进行提交,完成整个create创建数据的过程。

前面多次出现的select方法为Model类的一个成员方法,该方法用于列出所有符合条件的数据。在数据库开发中,查询和插入数据是同等重要的,ThinkPHP对数据的插入、更新等都做了高度封装,系统提供create方法,用于创建数据对象。

所谓的数据对象就数据字段与数据表之间的关系,数据会被映射为类成员,然后再与数据表映射,最后实现数据的插入或更新。对开发者而言,这一过程不需要关心,只需要在表单中设置好字段(表单元素),系统会自动建立好映射关系。create方法是ThinkPHP最基础和最强大的数据操作方法,该方法是连贯操作、CURD操作的集合,包括了数据创建、数据检验、表单验证、自动完成等实用功能,接下来将详细介绍create方法。

1.create创建数据流程

create的数据源由Post表单提供,一般情况下开发者不需要做任何的更改,即可让表单元素中的数据自动映射为数据表中的数据。例如表单中有username表单元素,那么该元素会自动被映射为数据表中的username字段,在数据创建的过程中,create方法会自动对数据进行处理,确保数据的安全和有效。过程如图7-2所示。

数据对象创建成功后,该对象被存放于内存中,此时可以使用Model类中的add方法对数据进行保存或更新操作(create方法自动判断是保存还是更新)。

978-7-111-42852-7-Part02-191.jpg

图7-2 create创建数据流程

2.create数据操作

前面介绍了create方法的运行过程,读者只需要理解即可,在实际应用开发中创建数据的过程是极其简单的。下面将结合示例代码,介绍create方法的实际应用,加深对create方法的认识。

首先在Index控制器中创建一个用于接受用户输入的表单页面,这里将控制器动作命名为add_article,代码如下所示。

978-7-111-42852-7-Part02-192.jpg(www.chuimin.cn)

add_article动作对应的add_article.html页面代码如下所示。

978-7-111-42852-7-Part02-193.jpg

978-7-111-42852-7-Part02-194.jpg

在上述代码中,在表单中共定义了5个字段,分别为title、add_user、area、category、content。其中area、category使用了表单列表元素,content使用了ThinkPHP内置的富文本编辑器,所以需要使用<taglib name="tp"/>额外引入tp扩展标签类库,最终呈现效果如图7-3所示。

在上述代码中,表单提交页面为__URL__/add,即当前控制器中的add动作。接下来的操作均在add动作中完成,如以下代码所示。

978-7-111-42852-7-Part02-195.jpg

图7-3 add_article.html页面效果

978-7-111-42852-7-Part02-196.jpg

如上述代码所示,使用M函数直接实例化数据表tpk_article,读者也可以在自定义模型中完成。然后使用create方法创建数据,创建的过程不需要开发者手动赋值,系统会直接将表单中的表单元素直接与tpk_article数据表进行映射。但是,由于表单中没有add_time元素,这里可以直接以对象的方式为articleObj数据对象添加类成员。最后的结果就是添加一个add_time表字段,该字段的值为当前时间戳。一切完成后,此时数据对象存放于内存中,使用add方法进行提交,完成整个create创建数据的过程。