Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Zend框架的iPhone Web服务_Php_Iphone_Zend Framework - Fatal编程技术网

Php 使用Zend框架的iPhone Web服务

Php 使用Zend框架的iPhone Web服务,php,iphone,zend-framework,Php,Iphone,Zend Framework,我对iPhone应用程序开发和PHP开发都很陌生,尽管我在.NET技术方面有大约8年的经验。我们已经开始开发一个iPhone应用程序,它将与各种第三方API进行对话,如facebook、twitter、four square、google geo code 现在,很多交互都必须在应用程序内部进行,例如与facebook的初始身份验证、向facebook发布消息等。但是,出于各种原因,我们需要在服务器上进行一些交互。由于我是一名.NET开发人员,我可以想到的明显方式是web服务 出于各种原因,我们

我对iPhone应用程序开发和PHP开发都很陌生,尽管我在.NET技术方面有大约8年的经验。我们已经开始开发一个iPhone应用程序,它将与各种第三方API进行对话,如facebook、twitter、four square、google geo code

现在,很多交互都必须在应用程序内部进行,例如与facebook的初始身份验证、向facebook发布消息等。但是,出于各种原因,我们需要在服务器上进行一些交互。由于我是一名.NET开发人员,我可以想到的明显方式是web服务

出于各种原因,我们不想使用SOAP,我们尝试使用JSON开发我们自己的web服务框架,但意识到在我们正在创建的框架中添加诸如安全性之类的功能太费劲了

因此,我们决定使用一个像Zend这样的已建立的框架,在这个框架中,我们可以开箱即用地实现安全性和其他功能。我们还必须决定使用Zend Json RPC还是使用Zend REST。我的问题是多方面的,请理解我对PHP开发非常陌生,所以我的一些问题可能是非常基本的

  • 我想从任何一个开发了iPhone应用程序与许多第三方API交互的人那里了解一下,您在服务器中投入了多少交互,除了使用web服务之外,还有其他有效的方式与服务器通信吗
  • 在Zend REST和Zend RPC之间,Zend REST更安全,开发工作量更少,我猜Zend REST更安全,Zend RPC开发工作量更少
  • <> LI>使用ZED等已建立的框架对于您的开发来说是一个好主意,在这里我们认为性能是最重要的,在性能方面使用Zead增加一个超额吗?
  • Zend Json RPC调用有多安全,使用Zend Json RPC时如何使服务调用更安全

  • 我是一名.NET开发人员,正在过渡到应用程序和PHP开发,因此希望从在这些领域有经验的人那里获得一些关于我们计划采用的整个方法的指导方针。

    让我们看看如何最好地回答这个问题

    回答1

    还没有做过iPhone应用程序。在工作中,我构建/维护了一个AdobeAIR客户端应用程序,该应用程序可以执行许多服务调用。我的经验法则是在客户机上做任何有意义的事情(利用他们的资源),而不是一直唠叨服务器。通常,我们的应用程序会预先从服务器加载所需的所有信息,并有足够的数据进行大量处理。每隔一段时间,它就需要将这些信息发送回服务器,以便存储在安全的位置,但大部分工作逻辑都在客户端应用程序中

    因为我们使用的是Adobe技术,所以我们使用作为传输协议在客户端和服务器之间来回发送数据

    对2的回答

    安全问题将由你来处理。我将在第4步中对此进行更多讨论。对于其余部分,您只需传递一个get/post/delete/etc,其中的值不隐藏。XMLRPC您只是传递了一个任何人都可以看到的xml。现在,REST本身就是一个讨论。因为没有真正的标准,所以当人们谈论休息时,很难定义它是什么。如果你想使用REST,我不认为Zend_REST真的能处理它。有一些专注于REST的框架可能对您更有用。此外,如果安全性很重要,请使用HTTPS而不是HTTP

    如果您选择使用REST(),我认为实现它需要很长时间

    对3的回答

    这都是关于你如何设计它的。我在工作中使用Zend提供上述服务。我以一种方式构建了它,您可以使用JSONRPC或AMF(如果需要,我可以轻松添加XMLRPC或其他API),并使用相同的资源。我在AIR应用程序中使用AMF,在PHP站点/工具中使用JSONRPC。我更喜欢JSON,因为我觉得它比xml更轻,而且对我来说更容易使用

    接下来,我安排了cron作业,每天晚上我都将数据库中数千个查询值的数据缓存到内存中。我知道的数据在第二天不会改变,而且会经常使用。此进程未缓存的任何内容都将在客户端请求时以特定的过期时间单独缓存。这一切意味着什么,我所有的服务电话都非常快速高效。很多时候,我甚至不需要点击数据库,因此在服务器端处理请求的时间只有一秒钟

    另外,如果您使用Zend,不要将框架用于API,只需将服务器模块作为一个独立部分使用即可。不要使用整个MVC堆栈,只需为要使用的每个协议创建一个独立的文件。我有一个处理JSONRPC请求的json.php和一个处理amf请求的amf.php文件。里面的两个文件都非常轻量级,它们只需要启动Zend_Json_服务器或Zend_Amf_服务器,将类路径分配到我的类所在的位置并处理请求

    对4的回答

    无论您使用哪种协议,都必须像处理任何事情一样在其中构建安全性。您还可以使用Zend身份验证模块和acl。如果要来回传递敏感数据,不管是json、xml还是rest,都需要加密这些数据,否则会有人看到。AMF是一种二进制格式,这使它更难实现,但这不是重点。无论您选择哪种协议,您仍然需要构建一些身份验证机制,以确保其他人在没有访问权限的情况下不会使用它


    如果你想了解更多关于使用Zend构建Web服务的不同方法的信息,我认为这本书是一个很好的开始。我希望这能帮助您入门。

    感谢您的回复,我特别想了解我可以在iPhone中输入多少代码