Hi. I am not using Zend_Rest_Route so I can't say but it looks like the way to do it. Did you try it to see if it works?
Regards, Narinder. -- on 30/03/2010 23:34, robert mena at [email protected] wrote: > Hi, > > Just to make sure I understand correctly: > > a) In my index.php (bootstrap) > > $front = Zend_Controller_Front::getInstance(); > $front->addModuleDirectory('../application/'); > > // I only wat my RestController of my default module to be handled by the > Zend_Rest_Route > $restRoute = new Zend_Rest_Route($front, array(), array( > 'default' => array('rest'))); > > $front->getRouter()->addRoute('rest', $restRoute); > > // Go Speed Racer...Go! > $front->dispatch(); > > > b) In my application/default/controllers/RestController > > class RestController extends Zend_Rest_Controller > { > public function getAction() > { > $request = $this->getRequest(); > $params['method'] = $request->getParam('action'); > $params['request']['object'] = $request; > > $restServer = new Zend_Rest_Server(); > $restServer->setClass('My_API_Rest_Server'); > $restServer->handle($params); > } > } > > c) In my Client > > $client = new Zend_Rest_Client('http://mysite.com/default/rest'); > $rc = $client->mymethod('x', 'y')->get(); > > > This will call the mymethod of My_API_Rest_Server? > > On Tue, Mar 30, 2010 at 4:10 PM, Narinder Chandi < > [email protected]> wrote: > >> Sorry, accidentally clicked Send before completing the mail! >> >> Hi. This is an interesting question - something I've recently tackled >> myself. >> >> I read through this topic in several of the ZF books to get an idea. I >> concluded (rightly or wrongly) that if you want to handle all of the >> standard http actions (GET/POST/PUT/DELETE) then it is best to sub-class >> your controller from Zend_Rest_Controller. In my case I only want to handle >> GET/POST so I decided to sub-class from from Zend_Controller_Action and put >> the call to Zend_Rest_Server in an action. So, really within an action >> method I just do: >> >> $request = $this->getRequest(); >> $params['method'] = $request->getParam('action'); >> $params['request']['object'] = $request; >> >> $restServer = new Zend_Rest_Server(); >> $restServer->setClass('My_API_Rest_Server'); >> $restServer->handle($params); >> >> And the My_API_Rest_Server class takes over processing. >> >> Note that I found that I had to send through the request object to access >> stuff from it - it seems a bit direct but I couldn't figure out a better >> way >> to deal with that requirement. If anyone knows a better/cleaner way please >> say so...thanks. >> >> I'd be interested to hear other opinions too. >> >> Regards, >> >> Narinder. >> -- >> >> ______________________________________________________ >> | Narinder Chandi, Director, >> | ToolBox Systems Limited, Surrey, England, UK. >> | tel : +44 (0)1372 720117, mob : +44 (0)7973 512495 >> | www : http://www.toolbox.uk.com >> | Skype : NarinderChandi >> | LinkedIn : http://www.linkedin.com/in/toolboxsystems >> | Twitter : @ToolBoxSystems >> |______________________________________________________ >> | Consultancy * Development * Support >> |______________________________________________________ >> >> on 30/03/2010 21:03, robert mena at [email protected] wrote: >> >>> Hi, >>> >>> What's the correct way to use Zend_Rest_Server with the MVC (i.e >>> Zend_Controller_Action)? >>> >>> I've read about the Zend_Rest_Route but should I have my Controller >> inherit >>> Zend_Rest_Controller (or define the index/put/get/post/deleteAction) and >>> put the new Zend_Rest_Server() / handle inside a certain action? >> >> >>
