Added by Ralph Schindler, last edited by Ralph Schindler on Jul 09, 2008  (view change)

Labels

 
(None)

Zend Framework: Zend_Loader_Autoloader Component Proposal

Proposed Component Name Zend_Loader_Autoloader
Developer Notes http://framework.zend.com/wiki/display/ZFDEV/Zend_Loader_Autoloader
Proposers Ralph Schindler
Zend Liaison TBD
Revision 1.0 - 1 January 2008: Initial Draft. (wiki revision: 3)

Table of Contents

1. Overview

Zend_Loader_Autoloader is a component that will allow for Namespace & PseudoNamespace loading capabilities.

2. References

3. Component Requirements, Constraints, and Acceptance Criteria

  • This component will allow for Namespace and Pseudo-Namespace autoloader registration.
  • This component will not use spl_autoload_register.

4. Dependencies on Other Framework Components

  • Zend_Exception

5. Theory of Operation

The component is available for use by applications that might use multiple autoloaders (for example modules that might require the use of a custom autoloader).

Problems this autoloader attempts to solve:

  • Ability to register autoloaders to handle specific namespaces & pseudo-namespaces
  • Ability manage the ordering of the autoloader stack (all functions of dealing with ArrayObject)
  • Provide 2 out-the-box autoloaders: one that will suppress file not found warnings, and one that will not suppress warnings.

6. Milestones / Tasks

  • Milestone 1: design notes will be published here
  • Milestone 2: Working prototype checked into the incubator supporting use cases #1, #2, ...
  • Milestone 3: Working prototype checked into the incubator supporting use cases #3 and #4.
  • Milestone 4: Unit tests exist, work, and are checked into SVN.
  • Milestone 5: Initial documentation exists.

7. Class Index

  • Zend_Loader_Autoloader

8. Use Cases

UC-01

... (see good use cases book)

9. Class Skeletons

Could you provide a little more background on the problems this component solves? Even with the descriptions present, I still don't understand the benefit this is trying to bring.

Also, you state that this will not use spl_autoload_register, yet this line from the class skeleton seems to indicate otherwise:

Is this meant as a user-land tool, or for internal framework use? ZF itself doesn't currently use autoload; does this proposal indicate a change in direction on that?