mistralys / html_quickform2
提供在PHP中创建、验证和渲染HTML表单的方法。
2.3.5
2024-02-12 10:06 UTC
Requires
- php: >=7.4
- symfony/polyfill-php80: >=v1.27.0
Requires (Dev)
- phpstan/phpstan: >=1.10
- phpunit/phpunit: >=9.6
README
此分支专注于代码现代化、性能提升和用户体验改进。
要求
- PHP 7.4+ (PHP8兼容)
- Composer
安装
使用以下命令将包作为依赖项添加到您的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文件形式呈现。