So I just started my second project where I need to use a "multistep" form. What I mean by that is something like this:
Page 1:
Fill in your email and password plus confirmation and press "Next" (submit).
Page 2:
Fill in your personal details like name etc. Press either "Next" (submit) or press "Previous" to go back to step 1 and change something there.
Page 3:
Fill in some other bio stuff for your profile and press either "Finnish" to complete or press "Previous" to go back one step.
So for a registration progress like above I would save everything in a session until the last step ("Finnish" button). But I also have cases where I want to write everything right away in a database (not for registration but for going trough something else).
So normally I always use resource controllers, but I am not sure what to use for these multistep forums. Should I add new method's to the resource and manually add those to the route? Or should I use a basic controller and create something like getStepOne, postStepOne, getStepTwo,...
A real example where I need to apply this multistep form is a newsletter system I am currently working on. A user would need to go trough a sort of wizard (multistep form) which ask's for all kind of information like subject, emails, group, article's to send etc. The user should be able to save at any one point so I need to store it after each step. This will lead to tables that are only partly filled until the wizard has been completed by the user.
So any idea's on how to handle this nicely? (Currently I am using a few patterns like Gateway Services, Validation Services, Repositories and Services Providers. Not sure if this might make any difference?).