Skip to end of metadata
Go to start of metadata

<ac:macro ac:name="note"><ac:parameter ac:name="title">Under Construction</ac:parameter><ac:rich-text-body>
<p>This proposal is under construction and is not ready for review.</p></ac:rich-text-body></ac:macro>

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[

Zend Framework: Zend_Controller_RewriteRouter Component Proposal

Proposed Component Name Zend_Controller_RewriteRouter
Developer Notes
Proposers Michael Minicki aka Martel Valgoerad
Revision 1.1 - 1 August 2006: Updated from community comments. (wiki revision: 5)

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): (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



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

    <p>Reviewed by Zend team on Wednesday, 19 Apr 2006.<br />
    Decision: Accepted</p>

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

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

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