Skip to end of metadata
Go to start of metadata
Under Construction
This proposal is under construction and is not ready for review.

Zend Framework: Zend_Controller_RewriteRouter Component Proposal

Proposed Component Name Zend_Controller_RewriteRouter
Developer Notes http://framework.zend.com/wiki/display/ZFDEV/Zend_Controller_RewriteRouter
Proposers Michael Minicki aka Martel Valgoerad
Revision 1.1 - 1 August 2006: Updated from community comments. (wiki revision: 4)

Table of Contents

1. Overview

Zend_Controller_RewriteRouter allows for native PHP URL rewriting. It allows a usage of self created and controlled url schemes.

2. References

The route interface was inspired by very early sketch of skeleton framework created on sitepoint forums (yet the code was written from scratch for my own project sometime ago): http://ap3.sourceforge.net/ (skeleton classes)

I don't recognize a single line of code though

3. Component Requirements, Constraints, and Acceptance Criteria

No requirements at this point.

4. Dependencies on Other Framework Components

  • Zend_Controller_Router
  • Zend_Controller_Dispatcher
  • Zend_Controller_Dispatcher_Token

5. Theory of Operation

Thanks to this component user can use self created URL schemes.

  • Routes are matched in reversed order.
  • Allows for setting named parameters
  • Allows for setting defaults
  • Allows for setting requirement masks
  • Uses default if the url param value is not in a proper mask

6. Milestones / Tasks

zone: Missing {zone-data:milestones}

7. Class Index

  • Zend_Controller_RewriteRouter
  • Zend_Controller_Router_Route

8. Use Cases

9. Class Skeletons

No milestones defined yet

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

    Reviewed by Zend team on Wednesday, 19 Apr 2006.
    Decision: Accepted

    Since the time that this proposal was made with code by
    Martel Valgoerad, Jared Williams has submitted an alternate
    solution. Both use very similar routing rules but the
    implementation details are different.

    We have conditionally accepted this proposal, with the
    understanding that Zend will work together with Martel
    and Jared to develop a solution with the best features
    from each. Zend will first merge this code, taking the
    best features from each, and will the commit this to
    the incubator after giving it a real-life test. We would
    then like Jared and Martel to work with us to further
    advance it.

    This router will completely replace the existing router
    solution. Common issues that have been raised on the
    mailing list, particularly better support for subdirectories
    (shared hosters), must be addressed by this new solution.