Overall, most of the work was related to the form helpers and making them even more flexible than they were previously. We’ve also added a new manual chapter on working with models and forms.
It is super-easy to build forms out of model records in Solar. In the controller, once you have a record object, call its
newForm() method to get a Solar_Form object. In the view, pass that form object to the form view helper and add a submit-process button:
echo $this->form() ->auto($this->form_object) ->addProcess('save') ->fetch();
Those four lines of code will build a complete form for you based on the model record, including top-level feedback and individual element invaldation messages.
The form helper is smart enough to recognize the column types and validation filters on the model record, and will use the appropriate input types accordingly. For example, booleans get checkboxes, date fields get a series of month/day/year options, and columns using
validateInKeys become selects.
You can also further customize the form presentation using the fieldset and grouping methods on the form helper. Alternatively, you can the individual form element helpers to build forms by hand.
These features have been present in Solar for years.
Finally, and I’m not making promises, but I think this is the last or next-to-last beta release. I have some tickets about query optimization from the models that I want to complete. Once those are done, I expect to make Solar’s first official stable release.
(Cross-posted from the Solar blog at http://solarphp.com/blog/read/63-solar-100beta5-released.)