pointblue/quickform

PHP 5.4 兼容的 HTML_QuickForm 分支

v3.3.6.5 2021-08-31 15:54 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 字段很有用。自定义渲染器实现需要将两个参数添加到方法签名中,但实际实现不需要更改。