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_Loader Improvements Component Proposal

Proposed Component Name Zend_Loader Improvements
Developer Notes http://framework.zend.com/wiki/display/ZFDEV/Zend_Loader Improvements
Proposers Court Ewing
Zend Liaison TBD
Revision 1.0 - 1 January 2008: Initial Draft. (wiki revision: 9)

Table of Contents

1. Overview

The plugin loader and autoloader resources in the Zend_Loader package are currently designed to only work with non-namespaced class names (pre 5.3). These improvements will modify these components to work for both the existing class naming format as well as actual PHP 5.3 namespaces.

2. References

3. Component Requirements, Constraints, and Acceptance Criteria

  • This component will be backwards compatible
  • This component will not change the current workflow when working with the existing package
  • This component will allow traditional and modern namespaces to be used simultaneously for autoloading and pluginloading

4. Dependencies on Other Framework Components

No additional dependencies

5. Theory of Operation

The use of underscores and namespace separators should be fairly interchangeable; at the very least, they can both map directly to a directory structure. The improvements on Zend_Loader_PluginLoader and Zend_Loader_Autoloader_Resource will make it so plugins and resources utilizing namespaces from PHP 5.3 can be used in conjunction with existing infrastructure.

6. Milestones / Tasks

  • [DONE] Milestone 1: Write proposal
  • [DONE] Milestone 2: Develop use cases
  • Milestone 3: Write outline of changes to theory of operation
  • Milestone 4: Gather feedback and apply changes
  • Milestone 5: Write unit tests
  • Milestone 6: Refactor existing classes

7. Class Index

  • Zend_PluginLoader
  • Zend_Autoloader_Resource

8. Use Cases

UC-1: Register PHP 5.3 namespace in autoloader resource
UC-2: Adding a prefix path to pluginloader that maps to a PHP 5.3 namespace

9. Class Skeletons

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

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