首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >REST web服务: Symfony 2 vs silex

REST web服务: Symfony 2 vs silex
EN

Stack Overflow用户
提问于 2012-04-17 11:54:13
回答 2查看 5.3K关注 0票数 7

我们将在PHP中实现一组REST web服务。我们选择了两个框架来实现这一点: Symfony 2和Silex (基于Symfony2的微框架作为phar存档)。

目前,只有几个服务,返回的资源很少,但是方法集最终会增长并包含其他rest操作(put/post/delete)。

这是我到目前为止对这两个框架的利弊列表。

Symfony2

优点:

  • 更强大
  • 原则ORM
  • 可以用XDebug进行调试
  • 配置( YML )
  • 更多地用于社区
  • 更多支持
  • IDE中的自动完成
  • 快地

缺点:

  • 需要FOSBundle做休息(?)(实际上,我想知道这是否真的有用)

Silex

优点:

  • 轻量级
  • 似乎更容易创建REST urls (?)
  • 更容易部署(phar档案)

缺点:

  • 无原则ORM
  • 无法调试(phar存档)
  • IDE中没有自动完成
  • 配置必须硬编码。
  • 可能会慢一点,因为它在phar存档中?

你认为哪一个是最好的?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-17 12:11:13

就我个人而言,我非常喜欢symfony 2,它很容易使用注释语法创建REST urls,在控制器中放置如下

代码语言:javascript
复制
/**
 * @Route("/user/{id}", requirements={"id" = "\d+"}, defaults={"_format"="json"})
 * @Method({"GET"})
 */
 public function getUser($id) {
     ...
 }
 /**
 * @Route("/user", defaults={"_format"="json"})
 * @Method({"PUT"})
 */
 public function putUser() {
     ...
 }
票数 11
EN

Stack Overflow用户

发布于 2012-07-05 06:38:06

这取决于你的项目的规模,因为你说它很小,我会选择Silex。

当您使用通过composer包括silex时,您列出的Silex几乎所有的缺点都被排除在外。然后,它只在供应商内部加载Silex依赖项,您就没有phar的开销,也没有IDE中缺少代码完成的情况。实际上是不推荐使用PHAR发行版。

至于Doctrine,Silex有一个内置于理论ServiceProvider中,可以在您的Silex项目中无缝地加载Doctrine。您可以自己轻松地添加DoctrineORM,也可以使用github上的第三方serviceProviders之一。

我正在用Silex构建一个相当大的REST,并且从来没有后悔过从Silex开始的任何事情。您可以获得Symfony2组件的许多优点,因为silex是用它们构建的,并且有一个非常轻量级的rest准备的微框架,而无需经过几个小时的yaml配置和设置。

老实说,我必须承认,我不是这个注解的超级粉丝,注释很好,但我认为示例be @mcfedr有点过火了,但这只是个人品味。

我希望我已经揭穿了你对Silex的一些偏见。挥拍一下,你不会后悔的。另一方面,您可能也不会后悔Symfony2 :)

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10190732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档