Drupal8开发
DRUPAL8模块开发 - DRUPAL8 Form API
Drupal8表单类实现了\Drupal\Cyr\Frase\FormInterface,表单的基本工作流由接口的buildForm, validateForm和submitForm方法定义。当一个表单被请求时,它被定义为一个可渲染数组,通常被称为表单API数组或简单的$Form数组。$form数组通过渲染过程转换为HTML并显示给最终用户。当用户提交表单请求到表单显示的同一URL时,Drupal会注意到请求中的传入HTTP POST数据,而这次不是构建表单并将其显示为HTML,而是构建表单,然后继续调用可应用的验证和提交处理程序。
DRUPAL8模块开发 - DRUPAL8数据库API - 事务
Drupal还支持事务,包括不支持事务的数据库的透明后退。但是,当您尝试同时启动两个事务时,事务会变得相当复杂。在这种情况下,数据库之间的行为也不同。在Drupal开发中,事务的例子如下:
DRUPAL8模块开发 - DRUPAL8数据库API - 删除语句
drupal开发中,删除查询必须始终使用查询生成器对象。Drupal使用delete()方法如下:$num_deleted = $connection->delete('mytable')
->condition('myfield', 5)
->execute();
DRUPAL8模块开发 - DRUPAL8数据库API - 合并查询
Drupal开发中,合并查询是一种特殊类型的混合查询。虽然在SQL 2003规范中为它们定义了语法,但实际上没有数据库支持标准语法。然而,大多数使用特定于数据库的语法提供一些替代的实现。Drupal中的合并查询生成器将合并查询的概念抽象为结构化对象,该结构对象可以被编译成每个数据库的适当语法。这些有时被称为“UPSERT”查询,UPDATE 和INSERT的组合。
DRUPAL8模块开发 - DRUPAL8数据库API - 更新查询
在Drupal开发中,更新查询必须始终使用查询生成器对象。某些数据库需要特殊处理LOB(大对象,如文本对MySQL)和BLOB(二进制大对象)的领域,所以一个抽象层必须允许个人数据库驱动程序执行任何特殊处理要求。
DRUPAL8模块开发 - DRUPAL8数据库API - 插入数据(二)
DRUPAL8数据库API - 插入数据第二节中,我们介绍了多插入语句、基于选择查询的结果插入、默认值的使用。Drupal开发中,插入查询对象也可以采用多个值集。也就是说,可以多次调用Values()来将多个INSERT语句并入。究竟如何发生将取决于所讨论的数据库的能力。在大多数数据库中,多个INSERT语句将在事务内部一起执行,以获得更大的数据完整性和速度。在MySQL中,它将使用MySQL的多值插入语法。