Choose your form solution for PHP!

clonefish Zend Framework: Zend_Form Pear framework: HTML_QuickForm2 vDaemon FORMFields Lib php-form-generator.com phpFormGenerator appNitro MachForm
url http://phpformclass.com http://framework.zend.com/manual/en/zend.form.html http://pear.php.net/package/HTML_QuickForm2 http://www.x-code.com/vdaemon/ http://formfields.com/ http://php-form-generator.com
concept Strictly a form generator class, defines itself as the form layer in an application or website. Strictly a form generator class, defines itself as the form layer in an application or website. Create your form HTML manually and inject special tags and HTML parameters which will be parsed by vDaemon. A form generator with focus on processing form data (eg. saving questionnaries). Rather a MySQL table editor than a form generator. self-hosted HTML form builder program, not for integrated developments self-hosted HTML form builder program
impression A versatile form class for expert PHP developers, clever extras. Does a little more than the basics, still needs manual coding for extras. a little old (most of the work was done in 2005), with special concept A mix of a form class and an application Unfriendly configuration and cryptic options. Basic elements only. Resembles phpMyAdmin.
release notes quickForm 1.* deprecated, quickForm 2 is 0.3 alpha currently (PHP5 compatible rewrite)
adding elements from PHP array or method calls PHP method calls PHP method calls configurable through HTML injection PHP based configuration PHP array
generates HTML X X X parses existing HTML X X
automatic JS validation X (alert, attached message) -- X (alert only) X (list of messages after form) -- --
dynamic elements X -- -- -- X X (regexp only)
database support for validation and elements. Types: native, AdoDB, PEAR::DB, MDB2, PDO, extensible only for validation if the Zend Framework is used -- -- Only mysql, built-in. Needs hack for UTF-8 connections, non-persistent connections, etc. MySQL only, through handler created with mysql_*
special elements inputCheckboxDynamic, inputSelectDynamic, multiple select, selectDate, inputRadioDynamic, inputFile, Google Maps, reCaptcha, FCKEditor MultiCheckbox, Multiselect -- -- predefined element types for commonly used input data (fax, URL, year) --
programming OOP OOP OOP procedural OOP ?
API complexity fair, gets the job done A little overhelming, quirky (eg. multiple select validation) fair, gets the job done no API strength is in the built-in "out-of-the-box" field-validation combinations rather than flexibility not sure if has any API
XHTML X X X n/a X --
accessibility (label tags, fieldset support) X manual -- need to take care in HTML -- --
multiple validation for an element X X (validator chains) X X -- --
dependency X -- -- X -- --
multibyte (at least UTF-8) support X X -- (preg => fail) -- -- --
extensible X X X -- X --
user created validation yes, extensible yes, extensible yes, extensible only function name ? --
customizable layout X X X not generated code, need to do manually X partially
template engine support X ? -- -- -- --
.ini file support X X -- -- -- --
extras online drag and drop form builder to create the configuration -- -- -- data processing tools (export, etc.) a simple helper page to create form configuration
trying live samples online, build forms online, download and try download and try locally download and try locally live samples online, download and try -- form configuration generator online
documentation online online online online online (phpDoc with missing files and details) online (messy)
support free: e-mail, forum community community forum knowledge base, forums. Direct answers are not guaranteed. e-mail (not advertised as support) optional installation support for $50
license proprietrary GPL GPL free proprietrary proprietrary
pricing free, full version starting at $39 free free free (was commercial) starting at $29.95 $39
unit tested X X for quickform 2 -- -- --
multiselect validation tricky: http://www.jeremykendall.net/2008/12/04/zend_form_element_multi-tips-and-tricks/
blog comments powered by Disqus