3

我即将设计一个 Zend Web 应用程序,为了呈现它的视图,它将使用数据,这些数据也应该可以通过 JSON-RPC api 检索,用于移动原生应用程序。我想知道如何构建项目以保持这两个部分独立。该 Web 应用程序旨在通过转到以下 URL 来启动:

http://www.domainname.com

然后,iOS 和 Android 客户端应该能够通过发送 post 请求来使用 JSON-RPC api

http://www.domainname.com/api/

web应用程序和api是否应该是两个独立的zend应用程序?我对此持怀疑态度,因为由于它们将管理的数据基本相同,webapp 的请求处理程序类和控制器将有一堆类似的代码来检索和操作要返回的数据。

有没有一种好的、干净和灵活的方式来为 JSON-RPC 服务器和 Web 应用程序使用相同的“后端”代码?

我想避免代码重复,但也要尽可能快地调用 api。

感谢任何会提供帮助的人!

4

1 回答 1

1

您实际上可以很容易地实现这一点。

当控制器处理它时,使用...

if ($this->_request->isXmlHttpRequest())
{
     // Code here
}

如果要保存数据,过程可以相同。通常,您只需使用它来返回视图或 JSON。例如...

// Save the data here

if ($this->_request->isXmlHttpRequest())
{
     die(Zend_Json::encode(array('success' => true)));
}
else
{
     // View specific data here
}

我希望这会有所帮助并且有意义!

于 2011-12-20T12:15:53.133 回答