Routing icon indicating copy to clipboard operation
Routing copied to clipboard

add a route enhancer by (sub)path

Open lsmith77 opened this issue 11 years ago • 11 comments

lsmith77 avatar Oct 21 '12 22:10 lsmith77

you could also build that logic into the enhancer instances. having it in DynamicRouter makes things more complicated - but might gain some performance by not calling too many enhancers.

dbu avatar Oct 22 '12 08:10 dbu

actually the mappers do not really have to run in the context of the DynamicRouter .. they could just as well run after. then again they would then also run for static routes, where they make less sense.

lsmith77 avatar Oct 22 '12 08:10 lsmith77

indeed with @crell we discussed the idea of having a generic "route enhancement" step somewhere that adds information to the chosen route based on whatever. and the drupal people where thinking a lot about how to not call too many listeners unnecessarily. maybe he has some input here?

dbu avatar Oct 22 '12 08:10 dbu

I don't know what controller mappers by subpath means, so it's hard to say. :-) My current best thought on the subject is best written up in how we're likely going to do access control: http://drupal.org/node/1793520#comment-6645440

Basically, when a route is being collected and stored for later lookup, we run a processing step on it that lets any system decide if they will care about the route on a request event. Then on request events, the matcher passes the full Route object back as a request attribute, and a mediator listener of some sort looks at that derived information on the route and passes the route off to those systems that indicated they would want to know about it.

I don't know if that's at all related to what you're discussing here, but it's my best guess as it looks like I'm coming in the middle of a conversation.

Crell avatar Oct 26 '12 03:10 Crell

@Crell the job of the Routing system is to 1) match a route and then 2) add attribute values to the Request instance, so that the controller resolver can do its thing, which for the most part means setting _controller. The concept of "mappers" in the routing is to infer this data from the route (and its attached content) that matched via the DynamicRouter and then set attributes. So mappers take care of step 2), after the RouteRepository took care of 1).

lsmith77 avatar Oct 26 '12 07:10 lsmith77

I would like to call this Route enhancer and allow any kind of coded logic that changes or adds to the route array.

----- Reply message ----- Von: "Lukas Kahwe Smith" [email protected] An: "symfony-cmf/Routing" [email protected] Cc: "David Buchmann" [email protected] Betreff: [Routing] add a controller mapper by (sub)path (#28) Datum: Fr., Okt. 26, 2012 09:11 @Crell the job of the Routing system is to 1) match a route and then 2) add attribute values to the Request instance, so that the controller resolver can do its thing, which for the most part means setting _controller. The concept of "mappers" in the routing is to infer this data from the route (and its attached content) that matched via the DynamicRouter and then set attributes. So mappers take care of step 2), after the RouteRepository took care of 1).

Reply to this email directly or view it on GitHub.

dbu avatar Oct 26 '12 08:10 dbu

we now have the generic RouteEnhancer - you could write one that is configured with a sub path to do what you need.

dbu avatar Feb 14 '13 13:02 dbu

@lsmith77 do you have a specific use case for this? anyway i think it can be added when we actually need it somewhere, should not pose architectural problems, right?

dbu avatar Jun 21 '13 07:06 dbu

no .. and so its likely also not so important.

lsmith77 avatar Jun 21 '13 11:06 lsmith77

do we want to keep this open? i think what could make sense is to have a way to configure a DynamicRouter at a sub-path, so having a prefix for all routes this one tries to match. like "/cmf/my/route" would be resolved as "/my/route" by the dynamic router.

then you can solve this issue with such a router and configure it with specific enhancers.

dbu avatar Aug 04 '13 13:08 dbu

i think it would be good to keep it open .. but improve the description.

lsmith77 avatar Aug 04 '13 16:08 lsmith77