Long forms are always a problem. Optional sections make them worse. I occasionally have to fill them out and they always fail on flexibility. A checklist with many small forms usually works. I am looking for an example in Phalcon.
The multipage forms usually assume you know what all the questions are and have all the data ready. When you hit a question asking for something not obvious, you then have to leave the form, search for the data, then return. The one I am trying to fill out today has a very complicated login and a short timeout. I have had to log in about ten times after searching for documents.
The long forms that work are the ones that start with a checklist showing you all the sections and listing the data you need for each section. Each section opens a single page form you can complete using one item of data or one reference document. You can tick off each section as you find the required data. I have not found an example in Phalcon.
I am looking at a structure something like form/section/question where form/section would be pages and /question would be a division in the database. Perhaps a generic checklist for the forms level. Some sections could be genertic. There might be several forms with a contact section or a delivery address section. Some questions would be generic. You could use a Volt template at each level.
I have not yet explored all parts of the Phalcon forms code. The examples in the tutorials code and vokuro seemed to be too complicated for what they acheive. I am waiting for the updated 3.2 documentation to be stable and searchable through Google. I like to click through from the class decriptions to the Zephir code to look at the details.
Do forms need a view?