Hector, thank you for your responses. They do what I wanted to accomplish, and even better have taught me a bit more about ZF (I've only been using it for a few days).
Hector Virgen wrote: > > You could also try extending the dispatcher ( > Zend_Controller_Dispatcher_Standard) so that it passes the params to the > controller's action method using call_user_func_array(). > Take a look at this page if you want to go down that route (no pun > intended > ;)) > > http://framework.zend.com/manual/en/zend.controller.dispatcher.html#zend.controller.dispatcher.subclassing > > -- > Hector > > > On Sat, Oct 10, 2009 at 12:18 AM, Hector Virgen <[email protected]> > wrote: > >> You could create a route with X number of named parameters and make them >> all optional: >> :controller/:action/:arg1/:arg2/:arg3/:arg4/:arg5... >> >> You can then create an action helper that gets all of those >> arg#parameters and assigns them to the controller: >> >> class Default_Controller_Helper_ParamFetcher >> extends Zend_Controller_Action_Helper_Abstract >> { >> public function preDispatch() >> { >> $request = $this->getRequest(); >> $controller = $this->getActionController(); >> $controller->args = array(); >> foreach ($request->getParams() as $key => $val) { >> if (substr($key, 0, 3) == 'arg')) { >> $controller->args[] = $val; >> } >> } >> } >> } >> >> It may be a little awkward building urls that match the route, but this >> may >> help you get on the right track to building a general-use route that >> looks >> how you want it to. >> >> I hope this helps :) >> >> -- >> Hector >> >> >> >> On Fri, Oct 9, 2009 at 11:42 PM, arrrms <[email protected]> wrote: >> >>> >>> So rather than calling example.com/posts/archive/month/09/year/2008, I >>> could >>> just call example.com/posts/archive/09/2008. I know this is possible by >>> defining custom routes, but I want my entire application to work this >>> way, >>> so writing a custom route for each action would be a nightmare. Before >>> ZF, >>> I >>> was using a custom framework that would simply grab any parameters in >>> the >>> URI (after controller/action/) and use call_user_func_array() to call >>> the >>> controller's action. The action would then have those variables defined >>> within its signature, and that's how I would access them. I'd like to >>> replicate this behavior. >>> -- >>> View this message in context: >>> http://www.nabble.com/Can-I-globally-change-the-route-scheme-from-controller-action-key1-val1-key2-val2-to-just-controller-action-val1-val2--tp25831504p25831504.html >>> Sent from the Zend Framework mailing list archive at Nabble.com. >>> >>> >> > > -- View this message in context: http://www.nabble.com/Can-I-globally-change-the-route-scheme-from-controller-action-key1-val1-key2-val2-to-just-controller-action-val1-val2--tp25831504p25837232.html Sent from the Zend Framework mailing list archive at Nabble.com.
