Hi,

I'm just brainstorming how to make the controller in my mahono branch
more flexible while not breaking any BC.

I would like to change the signature of
sfController->forward($moduleName, $actionName) to something like that:

sfController->forward($moduleName, $actionName = null, $config = array())


So the actual possible signatures would be:

- forward($pageId)
- forward($moduleName, $actionName)
- forward($moduleName, $actionName, $config)


for two reasons:

1. I would like to provide a sfWebPageController providing page based
controller using areas and children (nested actions/components/partials)
 - I do not want to add a forwardPage(§pageId) but integrate it with
forward() as it seems to be a more consistent approach.

2. I would like to modularize forward() a bit so I can reuse parts with
my page controller and be able to call forward() / getPresentationFor()
with the added parameters to control (turn off) selected things.



Next question is: I see there are things in the filters that are executed

- before execution
- before rendering
- only once
- after other filters

So my opinion is that the filter chain could

a) be separated into request filters (or even methods) and action
filters and

b) provide insert positions with register() like possible with
addStylesheet()


Last but not least I would like to refactor the execution a bit to make
controlling parts reusable:

I'm not sure yet where to place it: either in sfController or in a
separate sfExecutor class (or similar name). But the intended key change
is to provide 4 methods:

- make() -- to instantiate and initialize an action (or component)
- execute() -- to execute an action
- validate() -- called by execute if action must be validated
- render() -- renders the view


Like I mentioned before: I don't want break BC, that's why I ask for
little feedback. And of course I only speak about my mahono branch (but
with idea in mind to merge it back to trunk once it works and is tested)

Regards,
Matthias



--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"symfony developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/symfony-devs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to