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?
>> 
>> 
>> 


Reply via email to