哪些PHP框架适用于仅限Web服务的应用程序?

时间:2012-02-21 22:07:01

标签: php web-services rest frameworks

我正在为几个即将开展的项目评估PHP框架,目标是为所有项目使用相同的框架。一个不寻常的方面是它们不是标准的基于浏览器的应用程序,它们都将被期望XML或JSON(目前尚未确定)的自定义应用程序访问。

大多数PHP框架,例如Yii,CodeIgniter,CakePHP似乎是围绕客户端应用程序将成为浏览器的合理假设而设计的 - 例如,使用cookie来管理持久性,在POST之后重定向等等。

虽然我确信我可以使用上述任何框架来完成这项工作,但是哪些主要框架“更好”适合客户端应用程序无关的应用程序开发?

6 个答案:

答案 0 :(得分:6)

实际上Recess PHP听起来很完美......在其他任何事情之前它本身就是宁静的。

更新:我最近一直在玩 Slim Framework 。这是一个非常酷的小工具,基本上是PHP等效于节点的Express.js。它非常高效,轻量级,并且是测试驱动的。

答案 1 :(得分:6)

在'大'中(CI,Kohana,Zend,Cake,Symfony)我认为较新的Zend对RESTful webservices有最好的支持,但早期版本的Zend框架却缺乏休息控制器。我为Zend创建了自己的东西,只是使用它们。

如果你真的想要一个网络服务量身定制的框架,那么有一些较小的项目,我认为没有任何一个项目可以在接近引爆点的地方任何地方引导它们(或者用于不仅仅是一个演示项目) )。

我的建议是坚持你已经知道的框架,建立你自己的休息控制器(如果目前缺乏)。可能需要创建一些基本函数来获取输出并将其转换为XML,json等...但是您将花费更少的时间来尝试学习新的框架。此外,有了一个重要人物,你将不会被迫维持一个厌倦了跟上的废弃代码库。

答案 2 :(得分:1)

Symfony2 有一个有趣的概念,只要你关注HTTP(另外,它也有一些CLI(命令行界面))。

它不是一个框架,而是一个框架库,在这个框架库中,您可以使用提供基本HTTP抽象的小内核来选择所需的部分。这个轻量级的概念有足够的空间来覆盖你的应用程序逻辑,而不是过于厌恶。

此外,它经过了充分测试,具有已定义的API,并允许通过依赖注入和所谓的捆绑包轻松扩展。

如果你开始使用PHP并使用PHP,请从symfony2开始。

答案 3 :(得分:0)

我推荐Zend Framework用于这样的奇怪工作,特别是因为它是以这样的方式编写的,你可以使用它的一些部分而不需要采用整个框架的行为。例如,在我的应用程序中,我使用框架的Zend_Db部分来处理ORM和数据库相关的函数,但是我将其他对象和框架用于应用程序的其他部分。

正如您所指出的,大多数其他框架都是根据您希望构建的应用程序类型编写的许多假设(配置约定范式的一个缺点)。

答案 4 :(得分:0)

到2012年,人们已经停止使用休息服务了吗?

如果您熟悉Ruby on Rails Yii PHP框架值得研究。

或许值得花一个小时与每个框架,看看哪个是最容易使用的。

答案 5 :(得分:0)

可以非常轻松地创建简单的Web服务。你不打算使用任何框架,但是你会去生产......你需要担心安全性和灵活性

实际上,如果您使用框架来管理API,那将会更加容易。我建议你去寻找一个轻量级的框架。

框架的重点是处理常见的任务和其他繁琐的事情。 REST API通常是用PHP构建的,因此存在大量的框架。就个人而言,我会使用像这样的轻量级框架来处理诸如URI路由,解析/清理请求数据以及生成响应等内容。

你有很多这样的选择: http://davss.com/tech/php-rest-api-frameworks/