<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[
Zend_Controller_Scaffolding will provide quick scaffolding features (that every mature framework has) by extending Zend_Controller_Action class. The component has a real code base (http://code.google.com/p/zendscaffolding/) and is used in several projects. Google Code Project: http://code.google.com/p/zendscaffolding/Zend Framework: Zend_Controller_Scaffolding Component Proposal
Proposed Component Name
Zend_Controller_Scaffolding
Developer Notes
http://framework.zend.com/wiki/display/ZFDEV/Zend_Controller_Scaffolding
Proposers
Alex Oroshchuk
Zend Liaison
TBD
Revision
1.0 - Aug 2010: Initial Draft. (wiki revision: 10)
Table of Contents
1. Overview
2. References
3. Component Requirements, Constraints, and Acceptance Criteria
4. Dependencies on Other Framework Components
- Zend_Controller
- Zend_Db
- Zend_View
- Zend_Form
- Zend_Pagination
- Zend_Validate
- Zend_Filter
5. Theory of Operation
There are several steps:
- Decide on data fields available for edition/listing/sorting/search and prepare two configuration structures: list of data (or synthetic) fields and general scaffolding options (like custom view folder, pagination etc.)
- Initialize scaffolding by passing 3 parameters: data providing class instance and the two configuration structures.
6. Milestones / Tasks
- Milestone 1: Discussions on design and functionalities.
- Milestone 2: Working prototype checked into the incubator supporting all use cases.
- Milestone 3: Unit tests exist, work, and are checked into SVN.
- Milestone 4: Initial documentation exists.
7. Class Index
- Zend_Controller_Scaffolding
8. Use Cases
| UC-1 |
|---|
Using scaffolding in a typical situation - back-end user management interface.
Suppose we have a (MySQL) table users with the following structure:
Also we created a model class Application_Model_Users that extends Zend_Db_Table. So, very basic scaffolding initialization will look like this:
| UC-2 |
|---|
Advanced usage with sorting, search, presentation tweaks, pagination.
| UC-3 |
|---|
List filtering (using Zend_Db_Table_Select). Useful for simple reporting.
9. Class Skeletons
| View scripts View scripts for corresponding actions will be available. User will have to place them under /views/scripts/scaffolding. |