mistralys/html_quickform2

提供在PHP中创建、验证和渲染HTML表单的方法。

2.3.5 2024-02-12 10:06 UTC

This package is auto-updated.

Last update: 2024-09-12 11:18:03 UTC


README

此分支专注于代码现代化、性能提升和用户体验改进。

要求

安装

使用以下命令将包作为依赖项添加到您的composer.json文件中:

composer require mistralys/html_quickform2

另请参阅Packagist页面

新增和改进

  • 链式元素方法作为属性数组的替代方案。
  • 元素工厂类,便于创建元素。
  • 通过类型化的返回值提高代码自动补全支持。
  • 使用严格类型进行持续的整体代码现代化。
  • 整体提升用户体验。
  • 移除了对PEAR包的依赖。

一些细节更改

  • 元素:添加set/getRuntimeProperty()方法以在运行时存储数据
  • 默认数组数据源:添加setValues()方法
  • 文本框元素:添加setRows() / setColumns()方法
  • 元素:添加makeOptional()方法以删除任何必填规则
  • 元素:添加hasErrors()方法以检查元素在验证后是否有错误
  • 元素:添加getRules()方法以检索添加到元素的规则
  • 元素:添加hasRules()方法以检查元素是否有任何规则
  • 元素:添加了包括addRuleRequired()在内的addRuleXXX()简写方法。
  • 元素:添加了appendComment()方法以将文本追加到现有注释。
  • 元素:扩展了setComment()以允许Stringable值。
  • 元素:添加了isFrozen()方法以检查元素是否已冻结。
  • 容器:添加了具有非空返回值的requireElementById()
  • 基于文本的元素:添加了addFilterTrim()方法。
  • 选择元素:添加了prependOption()方法以在顶部插入元素。
  • 选择元素:支持具有自定义OptGroup类的选择。
  • 选择元素:OptGroups的getLabel()方法。
  • 选择元素:添加了具有递归能力的countOptions()方法。
  • 选择元素:添加了makeMultiple()isMultiple()
  • 选择元素:添加了setSize()getSize()
  • 选择元素:添加了getSelectedOption()
  • 日期元素:为选项添加了设置器和获取器方法。
  • 输入元素:在相关位置添加了setLabel()方法。
  • 复选框元素:添加了setChecked()方法。
  • 图像元素:添加了setURL()方法。
  • 按钮元素:添加了makeSubmit()makeButton()
  • 表单:添加了getMethod()
  • 表单:添加了makeMultiPart()isMultiPart()
  • 规则:回调规则现在有一个getCallback()方法来检索配置的回调。
  • 规则:向必填规则添加了静态的setDefaultMessage()
  • 渲染器:为渲染器选项添加了设置器和获取器。
  • 渲染器:添加了用于IDE代码自动补全的专用代理类。
  • 渲染器:添加了如createArray()createCallback()之类的代理工厂方法。
  • 渲染器:添加了Bootstrap5渲染器。

性能调整

  • 容器getElementById()方法。
  • 自动生成元素ID。

元素ID生成

元素ID生成机制已修改,因此不再可能依赖于特定的命名方案来预测自动生成的元素ID。在实践中,这最多是不切实际的,并且新系统具有很大的性能提升。

文档

请查看主分支以获取详细信息和相关文档:https://github.com/pear/HTML_QuickForm2

额外的文档可在docs/knowledgebase文件夹中找到,以Markdown文件形式呈现。