Dav*_*vid 8 php rest symfony silex
我们将在PHP中实现一组REST Web服务.我们选择了2个框架:Symfony 2和Silex(微框架作为phar存档,基于Symfony2).
目前,只有少数服务,其中一些资源作为GET返回,但这组方法最终会增长并包含其他休息操作(put/post/delete).
这是我迄今为止这两个框架的优缺点列表
Symfony2的
优点:
缺点:
燧石
优点:
缺点:
您认为哪一个最好?
谢谢
Chr*_*isR 16
真的取决于你的项目的规模,因为你说它很小,我会选择Silex.
当你通过作曲家包含silex时,几乎所有你为Silex列出的缺点都被排除在外.然后它只是在供应商中加载Silex依赖项,你没有phar的开销,也没有IDE中缺少代码完成.事实上,不推荐使用PHAR发行版.
至于Doctrine,Silex有一个内置的Doctrine ServiceProvider,可以在Silex项目中无缝加载Doctrine DBAL.您可以自己轻松添加DoctrineORM或使用github上的第三方serviceProviders之一.
我正在使用Silex构建一个相当大的REST API,并且没有后悔Silex的一件事.您可以获得Symfony2组件的许多优点,因为silex是使用它们构建的,并且具有非常轻量级的休息就绪微框架,无需经过数小时的yaml配置和设置.
说实话,我必须承认我不是注释的忠实粉丝,注释很好,但我认为@mcfedr的例子有点过分,但这只是个人品味.
我希望我已经揭穿了你对Silex的一些偏见.给它一个摆动,你不会后悔.另一方面,你可能不会后悔Symfony2 :)
mcf*_*edr 12
我个人非常喜欢symfony 2,它很容易使用注释语法创建REST URL,在你的控制器中你输入类似的东西
/**
* @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() {
...
}
Run Code Online (Sandbox Code Playgroud)