<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[
The entire Zend_Loader package is currently designed to only work with non-namespaced class names (pre 5.3). These improvements will modify all components of the package to work for both the existing class naming format as well as actual PHP 5.3 namespaces.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: 5)
Table of Contents
1. Overview
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 will make it so libraries utilizing namespaces from PHP 5.3 can be used in conjunction with Zend Framework without requiring an entirely new autoloader implementation.
Namespaced classes will also be able to be registered with the pluginloader so modern class definitions can be used for custom helpers, filters, etc.
6. Milestones / Tasks
- [DONE] Milestone 1: Write proposal
- [DONE] Milestone 2: Develop use cases
- Milestone 3: Gather feedback and apply changes
- Milestone 4: Write unit tests
- Milestone 5: Refactor existing classes
7. Class Index
- Zend_Loader
- Zend_Autoloader
- Zend_PluginLoader
- Zend_Autoloader_Resource
8. Use Cases
| UC-01: Load a namespaced class |
|---|
| UC-02: Register PHP 5.3 namespace to the autoloader |
|---|
| UC-03: Register PHP 5.3 namespace in autoloader resource |
|---|
| UC-04: Adding a prefix path to pluginloader that maps to a PHP 5.3 namespace |
|---|
9. Class Skeletons
Class skeletons should not differ from current Zend_Loader skeletons
]]></ac:plain-text-body></ac:macro>