The latest release for Formagic, version 1.5.4, contains some bugfixes as well as a few new features:
- Before 1.5.4, the method “Formagic::setMethod()”, that should change the form submit method (“post” or “get”), did not have the desired effect, because the submit values used for processing the form (validation as well as returning the submitted values to the user) were bound on construction of the form object. This has been corrected, and furthermore, users are now able to bind the form not only to GET or POST values (which of course is still the default behavior), but also every other array the user wishes. See Formagic::bindFormValues() for details.
- Formagic container can now be queried if a certain item is available (Formagic_Item_Container::hasItem()). The former workaround to use getItem() with an obscure parameter to prevent an exception being thrown is no longer necessary and will be removed in future versions of Formagic.
- Since Formagic binds it’s forms values using PHP’s superglobals (GET or POST) by default, it is possible to have a custom made form from one URL submit into a Formagic form on a different URL. Before 1.5.4, doing so would require submitting some hidden fields as well, used for example as a workaround for non-checked checkboxes being omitted in the GET- or POST-array.
But even if this no longer necessary for said checkboxes, there are still some cases, in which hidden fields are used for non-obvious purposes. So having code that cross-submits between different form-processing entites is still not recommended.
Having Formagic 1.5.4 out, work on 1.5.5 has already begun. You can see what’s happening here: https://github.com/Weasle/Formagic/milestones/1.5.5
Please visit https://github.com/Weasle/Formagic/ for details and installation information.