This class can output HTML forms with fields of all the standard types.
You just need to set the configuration of the attributes of each field in an array.
The class can be easily enhanced to support add new input types. It also supports aliases to minimize the code that needs to be written to use the class.
The presentation of each field can be customized using templates. You can specify how and where validation the inputs and the error messages associated to each field are presented.
Plug-ins are provided for integration with Smarty. It can easily adapted to integrate with other template engines.