我将要设计一个 Zend 网络应用程序,为了呈现其 View ,该应用程序将使用数据,这些数据也应该可以通过 JSON-RPC api 检索,用于移动原生应用程序。我想知道如何构建项目以保持这两个部分独立。 Web 应用程序将通过转到以下 URL 启动:
然后,iOS 和 Android 客户端应该能够通过向
发送 post 请求来使用 JSON-RPC apihttp://www.domainname.com/api/
web 应用程序和 api 是否应该是两个独立的 zend 应用程序?我对此持怀疑态度,因为由于它们将管理的数据基本相同,因此 Web 应用程序的请求处理程序类和 Controller 将有一堆相似的代码来检索和操作要返回的数据。
是否有一种好的、干净且灵活的方法来为 JSON-RPC 服务器和 Web 应用程序使用相同的“后端”代码?
我想避免代码重复,但也希望 api 调用尽可能快。
感谢任何愿意提供帮助的人!
最佳答案
您实际上可以很容易地实现这一目标。
当 Controller 处理它时,使用...
if ($this->_request->isXmlHttpRequest())
{
// Code here
}
如果您正在保存数据,过程可以相同。通常,您只需使用它来返回 View 或 JSON。例如……
// Save the data here
if ($this->_request->isXmlHttpRequest())
{
die(Zend_Json::encode(array('success' => true)));
}
else
{
// View specific data here
}
我希望这对您有所帮助并且有意义!
关于php - 如何在 Zend Web 应用程序和 Zend JSON-RPC 服务器上使用相同的 "back end"代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8574422/