openpsa/quickform

PHP 5.4 兼容的 HTML_QuickForm 分支

v3.4.1 2023-04-20 08:24 UTC

README

HTML_QuickForm 的向前兼容分支

此包主要用作现有 HTML_QuickForm 安装的替换。有关文档,请参阅 http://pear.php.net/manual/en/package.html.html-quickform.php

与原始包的主要区别包括

  • 兼容 PHP 5.4 及更高版本:它将运行而不会产生警告或弃用通知
  • 无 PEAR 依赖:将 HTML_Common 替换为捆绑版本,并将 PEAR_Error 替换为异常
  • 支持 Composer 自动加载:已删除所有 include 语句,改为类映射自动加载
  • 应广大用户的要求,已包含 HTML_QuickForm_Renderer_Tableless 并提供默认设置(仅 PHP,您需要提供自己的样式表)

API 兼容性

  • 一些调用在 PEAR 文档中列为静态,但使其无警告地静态调用可能需要进行大量重写,并可能破坏其他用例。因此,如果您收到关于从不可兼容上下文假设 $this 的错误,只需将您的调用更改为非静态即可。

  • HTML_QuickForm_Renderer::renderHidden 的签名略有改变,现在需要三个参数:&$element, $required, $error,正好像 HTML_QuickForm_Renderer::renderElement。这意味着现在可以在隐藏字段上渲染验证错误,这对于 CSRF 字段非常有用。自定义渲染器实现需要将两个参数添加到方法签名中,但实际实现无需更改。