Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version. Compare with Current  |   View Page History

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[

Zend Framework: Zend_Controller_Action_Helper_MultiPageForm Component Proposal

Proposed Component Name Zend_Controller_Action_Helper_MultiPageForm
Developer Notes
Proposers Jurriën Stutterheim
Revision 0.1 - 1 January 2008: Initial revision. (wiki revision: 4)

Table of Contents

1. Overview

Zend_Controller_Action_Helper_MultiPageForm provides support for multi-page forms and Post-Redirect-Get with Zend_Form.

2. References

This proposal heavily based on Simon Mundy's Multiform action helper. Credit to this idea should go to Simon. I merely made it play nice with Zend_Form

3. Component Requirements, Constraints, and Acceptance Criteria

  • This component will provide PRG support.
  • This component will only support Zend_Form.
  • This component will provide multi-page form support.
  • This component could use additional back-ends to store the temporary form data

4. Dependencies on Other Framework Components

  • Zend_Exception
  • Zend_Session
  • Zend_Controller_Action_Helper_Abstract

5. Theory of Operation

The helper makes use of Zend_Form's subform support to provide multi-page forms. Each subform is essentially a form page.
At the end of the ride all the filtered/validated data is collected and made available to the developer to process it.
A session is used to store the data between requests.

Each subform needs a corresponding controller action. The subform and action have the same name.
The action serves two purposes. It allows custom logic for the data handling and it renders the view.

There is some more functionality that could be added to the helper, but I would like to discuss the options of that first.
One of those possibilities could be the branches idea of Mitchell's form proposal.
Another is the ability to allow unique instances of the same form to be open and filled in simultaneously. However, this would heavily increase the helper's complexity. This probably would be an option for a second iteration.

6. Milestones / Tasks

  • Milestone 1: [DONE] Rewrite Simon's helper to specialize it for Zend_Form
  • Milestone 2: Discuss points mentioned above.
  • Milestone 3: Update proposal to reflect comments and results of discussions.
  • Milestone 4: Helper checked in to incubator.
  • Milestone 5: Documentation & unit test.
  • Milestone 6: Helper accepted into core.

7. Class Index

  • Zend_Controller_Action_Helper_MultiPageForm

8. Use Cases

UC-01: Basic usage

9. Class Skeletons


Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.