PHPackages                             wandi/ordered-form - 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. wandi/ordered-form

ActiveLibrary

wandi/ordered-form
==================

Provides a form ordering support with the Symfony2 form component.

3.0.2(6y ago)017MITPHPPHP ^5.6|^7.0

Since Dec 29Pushed 6y agoCompare

[ Source](https://github.com/WandiParis/ivory-ordered-form)[ Packagist](https://packagist.org/packages/wandi/ordered-form)[ RSS](/packages/wandi-ordered-form/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (4)Versions (11)Used By (0)

README
======

[](#readme)

[![Travis Build Status](https://camo.githubusercontent.com/836ad8bd4cc183417116e9e37469490e587efb0d0ad659dd25bea380d6a41783/68747470733a2f2f7365637572652e7472617669732d63692e6f72672f6567656c6f656e2f69766f72792d6f7264657265642d666f726d2e706e673f6272616e63683d6d6173746572)](http://travis-ci.org/egeloen/ivory-ordered-form)[![AppVeyor Build status](https://camo.githubusercontent.com/051766c75dfa33cbcb1cc97e735e225ee63575be7e2b84faeb2cc2fd2e2dafc0/68747470733a2f2f63692e6170707665796f722e636f6d2f6170692f70726f6a656374732f7374617475732f6b31366b6e37303833356d31387270732f6272616e63682f6d61737465723f7376673d74727565)](https://ci.appveyor.com/project/egeloen/ivory-ordered-form/branch/master)[![Code Coverage](https://camo.githubusercontent.com/eb15ba0aac97e58ec33073a511a74d2b86839c2166544fd7e3e4697136315b8e/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6567656c6f656e2f69766f72792d6f7264657265642d666f726d2f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/egeloen/ivory-ordered-form/?branch=master)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/b9ac7e18b40f859dc5b16539e06b2b2de98f4e7aa0ce152032bbba9782c5df28/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6567656c6f656e2f69766f72792d6f7264657265642d666f726d2f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/egeloen/ivory-ordered-form/?branch=master)[![Dependency Status](https://camo.githubusercontent.com/9708ce6c541786b3f7519a5e540d08454a1429b6bd3ce618d78e9f791c0445d8/68747470733a2f2f7777772e76657273696f6e6579652e636f6d2f7068702f6567656c6f656e3a6f7264657265642d666f726d2f62616467652e737667)](https://www.versioneye.com/php/egeloen:ordered-form)

[![Latest Stable Version](https://camo.githubusercontent.com/941db34eb9e2f9b73e482eae17f12ea818f25bc0f04081214731659f184e907b/68747470733a2f2f706f7365722e707567782e6f72672f6567656c6f656e2f6f7264657265642d666f726d2f762f737461626c652e737667)](https://packagist.org/packages/egeloen/ordered-form)[![Latest Unstable Version](https://camo.githubusercontent.com/8a1b883eff12243b99f7ae65271a2f457f9f0b2e7c2d9a786dbe6f7697eb6254/68747470733a2f2f706f7365722e707567782e6f72672f6567656c6f656e2f6f7264657265642d666f726d2f762f756e737461626c652e737667)](https://packagist.org/packages/egeloen/ordered-form)[![Total Downloads](https://camo.githubusercontent.com/368258d177e940ec03f8c921a93715567dfb64d6a6bae9988487665f468485a0/68747470733a2f2f706f7365722e707567782e6f72672f6567656c6f656e2f6f7264657265642d666f726d2f646f776e6c6f6164732e737667)](https://packagist.org/packages/egeloen/ordered-form)[![License](https://camo.githubusercontent.com/c10b7fbe5327adb74f941d7581862dd02a74223c84c0c2666f76bf1d7f41011d/68747470733a2f2f706f7365722e707567782e6f72672f6567656c6f656e2f6f7264657265642d666f726d2f6c6963656e73652e737667)](https://packagist.org/packages/egeloen/ordered-form)

The library allows to order your Symfony2 form fields by adding the position option. A position can either be first, last or an associative array describing before and/or after field.

Wandi Note
----------

[](#wandi-note)

**Note: this is a Symfony 4 Fork**

If you want to use this Bundle with the Symfony Framework Standard Edition and use the `CreateForm` method in a `Controller` that extends `Symfony\Bundle\FrameworkBundle\Controller\AbstractController`, follow this quick guide:

```
// config/services.yaml
Symfony\Component\Form\FormExtensionInterface: "@form.extension"
```

Before (classic case):

```
namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;

class YourController extends AbstractController
{
    // [...]

    public function __construct(/* DI */)
    {
        // [...]
    }

    public function yourAction(Request $request): Response
    {
        $yourEntity = new Entity();

        $form = $this->createForm(YourType::class, $yourEntity, [
            // your options
        ]);
        $form->handleRequest($request);

         // [...]
    }
}
```

After:

```
namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Form\FormExtensionInterface;
use Ivory\OrderedForm\Extension\OrderedExtension;
use Symfony\Component\Form\Forms;
use Ivory\OrderedForm\OrderedResolvedFormTypeFactory;

class YourController extends AbstractController
{
    /**
     * @var FormExtensionInterface
     */
    private $formExtension;

    public function __construct(FormExtensionInterface $formExtension)
    {
        $this->formExtension = $formExtension;
    }

    public function yourAction(Request $request): Response
    {
        $yourEntity = new Entity();

        $formFactory = Forms::createFormFactoryBuilder()
            ->setResolvedTypeFactory(new OrderedResolvedFormTypeFactory())
            ->addExtension($this->formExtension)
            ->addExtension(new OrderedExtension())
            ->getFormFactory();
        $form = $formFactory->create(YourType::class, $yourEntity, [
            // your options
        ]);
        $form->handleRequest($request);

         // [...]
    }
}
```

Documentation
-------------

[](#documentation)

1. [Installation](/doc/installation.md)
2. [Usage](/doc/usage.md)
3. [Known limitations](/doc/known_limitations.md)

Testing
-------

[](#testing)

The library is fully unit tested by [PHPUnit](http://www.phpunit.de/) with a code coverage close to **100%**. To execute the test suite, check the travis [configuration](/.travis.yml).

Contribute
----------

[](#contribute)

We love contributors! Ivory is an open source project. If you'd like to contribute, feel free to propose a PR! You can follow the [CONTRIBUTING](/CONTRIBUTING.md) file which will explain you how to set up the project.

License
-------

[](#license)

The Ivory Ordered Form is under the MIT license. For the full copyright and license information, please read the [LICENSE](/LICENSE) file that was distributed with this source code.

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 96.8% 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 ~252 days

Recently: every ~477 days

Total

10

Last Release

2241d ago

Major Versions

1.1.1 → 2.0.02014-12-29

2.0.1 → 3.0.02017-02-27

PHP version history (3 changes)1.0.0PHP &gt;=5.3.0

1.1.0PHP &gt;=5.3.3

3.0.0PHP ^5.6|^7.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/8718936fc9088cb27065762d123c8961dcdab82e2a63816725a8e397865be115?d=identicon)[wandi](/maintainers/wandi)

---

Top Contributors

[![GeLoLabs](https://avatars.githubusercontent.com/u/149005863?v=4)](https://github.com/GeLoLabs "GeLoLabs (92 commits)")[![laurent-bientz](https://avatars.githubusercontent.com/u/6093572?v=4)](https://github.com/laurent-bientz "laurent-bientz (3 commits)")

---

Tags

Symfony2formorder

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/wandi-ordered-form/health.svg)

```
[![Health](https://phpackages.com/badges/wandi-ordered-form/health.svg)](https://phpackages.com/packages/wandi-ordered-form)
```

###  Alternatives

[a2lix/translation-form-bundle

Translate your doctrine objects easily with some helpers

3376.9M38](/packages/a2lix-translation-form-bundle)[egeloen/ordered-form

Provides a form ordering support with the Symfony2 form component.

32609.9k1](/packages/egeloen-ordered-form)[matthiasnoback/symfony-console-form

Use Symfony forms for Console command input

368264.8k8](/packages/matthiasnoback-symfony-console-form)[a2lix/auto-form-bundle

Automate form building

873.8M11](/packages/a2lix-auto-form-bundle)[barryvdh/laravel-form-bridge

This packages integrates Symfony Form Component in Laravel.

163354.8k1](/packages/barryvdh-laravel-form-bridge)[pugx/autocompleter-bundle

Add an autocomplete type to forms

93861.6k3](/packages/pugx-autocompleter-bundle)

PHPackages © 2026

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