•  
      request #11153 Introduce front controller pattern
    Infos
    #11153
    Manuel Vacelet (vaceletm)
    2018-03-21 09:12
    2018-02-14 15:58
    11243
    Details
    Introduce front controller pattern

    Front controller pattern is a common PHP pattern were all routes are directed to single entry point (usually index.php) and then dispatched and routed to the right controllers/handlers/etc.

    Tuleap comes from a time were this pattern was not yet in use so there are far too many entry points and a tendency to have routers and controllers not properly separated.

    Thanks to PHP 5.6 upgrade, we can now use standard routers like FastRoute

    Expected benefit will be:

    • Simplify nginx configuration that was crafted painfuly to support old apache behaviours to nginx (hello src/www/projects hidden php page). This still hurt us from time to time with URLs that doesn't contains .php
    • Simplify implementation of plugins. They won't have to deploy an entry point in there www/ sub folder. They will have to listen to an event instead.
    • Promote usage of clean urls instead of oldish &action=stuff&vla=var. Welcome /stuff/var
    • Allow to rename / support several URLs for same resource (like having a customized agiledashboard server below /cmmi-level5 URL, just sayin').
    Empty
    Empty
    Empty
    • [ ] enhancement
    • [ ] internal improvement
    Empty
    Stage
    Empty
    Closed
    2018-03-21
    Attachments
    Empty
    References

    Follow-ups