我编写了一个基于Zend Framework(版本1.11.11)的Web应用程序,我想使用SAME后端代码来编写此应用程序的移动版本(Android).为实现这一目标,我希望获得XML和JSON控制器中每个操作的响应 - 基于移动的应用程序.
但我面临的问题是:
我的控制器中的每个操作都将返回一个视图变量,然后由视图脚本解释.但是我希望每个动作在移动应用程序的情况下返回JSON数组,并且为基于浏览器的Web应用程序返回常规/常规事物(视图变量).
你们谁能给我如何能为实现一个例子loginAction()在UsersController.
URL看起来像:
http://{servername}/service/login
要做到这一点,我需要一些有关如何以最有效和最正确的方式做到这一点的见解和建议.我搜索了答案,但我没有找到任何关于如何实现这一目标的良好代码示例或实现示例.我感谢任何帮助和指导.
我这样做的方法是:使用参数调用API,该参数将解析调用然后将其卸载到控制器.但编码不成功.
我到目前为止的代码:
一个UserController与loginAction()(用户登录):
据我所知,我应该使用与UsersController中的loginAction相同的逻辑或相同的功能(对于基于Web和基于移动的应用程序),如下所示:
public function loginAction()
{
// Already logged in
if( Engine_Api::_()->user()->getViewer()->getIdentity() ) {
$this->view->status = false;
$this->view->error = Zend_Registry::get('Zend_Translate')->_('You are already signed in.');
if( null === $this->_helper->contextSwitch->getCurrentContext() ) {
$this->_helper->redirector->gotoRoute(array(), 'default', true);
}
return;
}
// Make form
$this->view->form = $form = new User_Form_Login();
$form->setAction($this->view->url(array('return_url' => null)));
$form->populate(array(
'return_url' => $this->_getParam('return_url'),
));
// Render
$this->_helper->content
//->setNoRender()
->setEnabled()
; …Run Code Online (Sandbox Code Playgroud)