PHPackages                             it-all/form-former - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. it-all/form-former

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

it-all/form-former
==================

HTML5 Form Creation Tool in PHP (7.1+)

v2.2.4(6mo ago)2163MITPHPPHP &gt;=7.1

Since Aug 5Pushed 6mo ago1 watchersCompare

[ Source](https://github.com/it-all/FormFormer)[ Packagist](https://packagist.org/packages/it-all/form-former)[ RSS](/packages/it-all-form-former/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (10)Dependencies (1)Versions (14)Used By (0)

HTML/HTML5 Form Creation &amp; Validation Tool in PHP (7.1+)

FormFormer forms HTML/HTML5 forms, and, optionally, validates their submitted field values using [Valitron Validator](https://github.com/vlucas/valitron). In case of validation error(s), forms are redisplayed with populated field values and error messages. FormFormer is decoupled from processing form submission after validation.

Please see examples/valitron.php for a minimal form with validation.

The goal was simple yet flexible code. Using immutable objects for all classes, except FieldBuilder (which optionally makes field instantiation less verbose), helps maintain simplicity. Flexibility is provided by incorporating general $attributes array properties into Form and Field classes, requiring the client programmer to have knowledge of HTML attributes and also potentially outputting invalid HTML, as most attributes are not validated.

There are certainly complexities which FF does not handle, especially related to formatting. It can be extended and/or adapted over time to handle some, and simply not used for others.

INSTALLATION
composer require it-all/form-former

USAGE
Please see examples.

SECURITY
In order to prevent XSS, the [htmlentities function](https://www.php.net/htmlentities) is used when outputting html element attribute values (which may contain user input if client code validates input and repopulates for failures) and html element content values (for example &lt;textarea&gt;escaped content&lt;/textarea&gt;).

Further reference:

[https://www.owasp.org/index.php/PHP\_Security\_Cheat\_Sheet#File\_uploads](https://www.owasp.org/index.php/PHP_Security_Cheat_Sheet#File_uploads)

w3.org Documentation on HTML5 forms:

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance67

Regular maintenance activity

Popularity13

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~250 days

Recently: every ~571 days

Total

13

Last Release

192d ago

Major Versions

v1.1.2 → v2.02018-04-29

PHP version history (2 changes)v1.0PHP &gt;=7.0

v2.0PHP &gt;=7.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/210b9a819169a8f86bb503dfe937f9e7618fd2bd573005f6c7b9d21265043b1e?d=identicon)[it-all](/maintainers/it-all)

---

Top Contributors

[![it-all](https://avatars.githubusercontent.com/u/5783938?v=4)](https://github.com/it-all "it-all (85 commits)")

### Embed Badge

![Health badge](/badges/it-all-form-former/health.svg)

```
[![Health](https://phpackages.com/badges/it-all-form-former/health.svg)](https://phpackages.com/packages/it-all-form-former)
```

###  Alternatives

[wwwision/dcb-eventstore

Implementation of the Dynamic Consistency Boundary pattern described by Sara Pellegrini

2131.5k10](/packages/wwwision-dcb-eventstore)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
