<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[
Zend_Acl dynamic loading isn't meant to be a replacement of the current good implementation of Zend_Acl, it is just an update proporsal based on get better performance in the component in medium/large ACL implementations as well as a base to allow the load of persistenced ACLs (from a database or a file or ..).Zend Framework: Zend_Acl dynamic loading Component Proposal
Proposed Component Name
Zend_Acl dynamic loading
Developer Notes
http://framework.zend.com/wiki/display/ZFDEV/Zend_Acl dynamic loading
Proposers
Aldemar Bernal
Revision
1.0 - 17 November 2007: Proporsal created.
1.1 - 21 January 2008: UCs Created. (wiki revision: 32)Table of Contents
1. Overview
2. References
3. Component Requirements, Constraints, and Acceptance Criteria
- This update will boost performance in medium/large Acl Implementations.
- This update will allow the component to load only the needed Roles/Resources.
- This update will allow the component to load data from datasources.
4. Dependencies on Other Framework Components
- Zend_Acl
- Zend_Acl_Role
- Zend_Acl_Resource
- Zend_Acl_Exception
5. Theory of Operation
This update doesn't make any change of current Zend_Acl implementations, it includes only a new method called registerLoader in the Zend_Acl component and a new abstract class called Zend_Acl_Loader_Abstract. The main goal of this new feature is to be able to load dynamically Roles and Resources using an instance of the abstract class. Here an example is given to make clearer the new functionality and its use:
My/AclLoader.php:
At bootstrap:
So, as you could see in the example above, the Loader class will allow to avoid the problem of loading all ACL at once in bootstrap, and will help to only load the data needed, the results are better response times and less memory usage.
6. Milestones / Tasks
- Milestone 1: [DONE] Create ZF Wiki info.
- Milestone 2: [DONE] Working prototype and some examples (not yet uploaded). UCs implemented click here to download.
- Milestone 3: Working prototype checked into the incubator supporting use cases.
- Milestone 4: Unit tests exist, work, and are checked into SVN.
- Milestone 5: Initial documentation exists.
7. Class Index
- Zend_Acl
- Zend_Acl_Loader_Abstract
8. Use Cases
I recommend you to download this file where you can find all UCs implemented for better comprehension of the component use.
9. Class Skeletons
]]></ac:plain-text-body></ac:macro>