Skip to end of metadata
Go to start of metadata

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

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

Zend Framework: Zend_Controller_Action_Crud_Abstract Component Proposal

Proposed Component Name Zend_Controller_Action_Crud_Abstract
Developer Notes http://framework.zend.com/wiki/display/ZFDEV/Zend_Controller_Action_Crud_Abstract
Proposers Jurriën Stutterheim
Revision 0.1 - 4 February 2008: Initial revision (wiki revision: 5)

Table of Contents

1. Overview

Zend_Controller_Action_Crud_Abstract is a controller action that provides basic CRUD functionality to facilitate RAD.

2. References

3. Component Requirements, Constraints, and Acceptance Criteria

  • This component will allow developers to setup basic CRUD setup with minimum effort.
  • This component will provide view helpers that provide the basic CRUD screens.

4. Dependencies on Other Framework Components

  • Zend_Exception
  • Zend_Form
  • Zend_Controller_Action
  • Zend_Db_Table

5. Theory of Operation

Basic CRUD operations are almost identical for every model. This is often more then enough functionality for development environments or non-public administration sections.
Zend_Controller_Action_Crud_Abstract only requires the developer to provide a Zend_Db_Table and Zend_Form instance in order to provide full CRUD operations.
A small collection of view helpers will provide the basic page elements for each action.
Code generators like Zend_Build could also benefit from the CRUD controller. The amount of code that needs to be generated can be kept to a minimum.

6. Milestones / Tasks

  • Milestone 1: [DONE] Have a working implementation
  • Milestone 2: [DONE] Create this proposal
  • Milestone 3: Collect and process comments
  • Milestone 4: Component is accepted in incubator
  • Milestone 5: Documentation and unit tests
  • Milestone 6: Release into core

7. Class Index

  • Zend_Controller_Action_Crud_Abstract
  • Zend_View_Helper_CrudList
  • Zend_View_Helper_CrudView

8. Use Cases

UC-01: A minimum controller

9. Class Skeletons

]]></ac:plain-text-body></ac:macro>

]]></ac:plain-text-body></ac:macro>

Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Mar 14, 2008

    <p>CRUD is generic, yet this controller is very database-specific. What if I want to work with a model that is stored in an XML file or is manipulated via a web service?</p>

  2. Jun 20, 2008

    <p>The functionality you describe would be a big part of any proposal that introduces a model formalism in ZF. We have talked about this on the team and will likely deliver a 'model' in a none-too-distant release. I agree with Jordan's comments that the definition of models should not be restricted to database data. Also, I'd like to explore the idea of supporting both 'fat' and 'thin' models in ZF.</p>

    <p>,Wil</p>