Symfony和Silex之间的区别

Ale*_* L. 36 php frameworks symfony silex

我想尝试Silex,但我有一些问题.

我知道使用Symfony2的,我想知道,如果Silex的是非常不同的Symfony的或者是同样的事情(相同的操作,同样的代码......)?

此外,Silex被推荐用于小型PHP项目和Symfony用于中型或大型项目,这是真的吗?

igo*_*orw 47

一些值得注意的事情:

  • Silex基于Symfony2组件,就像Symfony2框架一样.因此,可以将其视为组件的替代用户界面(用户是Web开发人员).
  • 由于它们使用相同的基础,因此它们之间的迁移应该相对容易.
  • 就像Symfony2一样,Silex主要是一个控制器框架.它为您提供了一些结构,但模型和视图部分由第三方库(如Twig或Doctrine)处理.
  • 由于您的业务逻辑不应该在您的控制器中,如果您将该代码分开并保持控制器的亮度,项目大小方面的限制因素将只是您拥有的路由数量.

也就是说,Silex不会给你Symfony2的捆绑包.

  • 两者之间的迁移远非易事(进入Sy2 - > Silex),特别是考虑到Silex提供商对Symfony组件缺乏完整的完整文档.话虽这么说,你的其他观点是正确的钱.另一个主要区别是Symfony2已准备就绪,Silex仍处于-dev模式. (7认同)
  • Symfony => Silex会比反之亦然,因为你认为理所当然的东西现在已不复存在了.silex的核心提供商拥有不错的文档,但大多数第三方提供商都没有. (2认同)
  • @AlanChavez是的,实体,服务,价值对象.这就是业务逻辑所在.不是像控制器这样的特定框架. (2认同)

ivo*_*oba 15

以下是关于何时使用Silex的一些有趣想法(特别是在评论中):https://web.archive.org/web/20160131151109/http: //www.testically.org/2011/10/11/is-there -a-特定情况-时使用的-A-PHP-微框架样硅石/

Silex本身非常简单,这意味着如果你想要更多只是路由和测试,你需要以服务的形式添加特定功能(DB,Twig ......).我建议你看看一些现成的Plates,它们为你提供:https: //github.com/lyrixx/Silex-Kitchen-Editionhttps://github.com/ivoba/superleansilexplate(那是我的:))

另一点是Silex可能比Symfony2更轻,所以如果你需要一个更小更快的网站,Silex值得考虑.


Dev*_*vWL 8

(更新)自Symfony 2.8以来您可以将symfony 2用作微内核控制器的微框架.请参阅此处的简短说明:symfony.com/blog/new-in-symfony-2-8-symfony-as-a-microframework.现在,Symfony让我们可以更好地控制结构和架构.如果您更喜欢Symfony 2风格,那么可以替代Silex.

在2.8发布之前将Silex与Symfony进行比较

Silex微框架基于Symfony,但它并不完全相同.对一个小项目使用Symfony这样的全栈框架简直过度使用该项目.

在微框架中,您可以更灵活地选择要使用的工具.您可以就应用程序架构和逻辑做出更多决策.在具有一定扩展性的全栈框架中,您将拥有一个已经预定义的体系结构和逻辑,其配置受到限制和限制.

Silex旨在构建工具,而不是获取您可能不需要的设置工具.我想说,对于Symfony中的小项目,您必须删除功能 - 在Silex中您必须添加它们.

Silex也不适合大型项目.Silex可以成功用于大型项目,但请记住,您必须构建适合您需求的工具(如果您需要自定义架构和逻辑 - 也许这是正确的方法).除此之外,我会考虑使用Symfony,因为Symfony已经拥有大量可用的工具.

Silex依赖注入

请记住: Silex限制

总而言之,Silex适用于较小的应用程序,对于那些,它肯定可以取代Symfony.Silex也可用于较大的项目(但对于较大的应用程序,我建议使用全栈框架,如Symfony).

参考幻灯片:http://www.slideshare.net/dustin.whittle/silex-from-micro-to-full-stack.如果您愿意,请继续阅读有关Silex框架的更多信息.

我还建议观看此简介,将Silex与Symfony进行比较:https://www.youtube.com/watch?v = RDVtnsoOysE .

再一次,使用Silex的一些Pro来自实际使用它的人:https://www.youtube.com/watch?v = OJcdHGJFfLU


ola*_*nod 7

Silex适用于小型项目,但它也可用于大型项目.我最喜欢Silex的是我完全控制了我的项目结构,但如果我的项目组织得很好,那么我的责任就在于此.
另外我推荐它在symfony上,如果像我一样,你使用JS框架将应用程序逻辑移动到客户端.对我来说,使用symfony只是为了提供一些json请求感觉有点过分了.


Lus*_*ian 5

Silex基于独立的Symfony2组件,并不像Symfony那样真正被视为全栈Web应用程序框架.你应该只将它用于只需要几个文件的非常小的项目,否则你会很快就会长大.

  • 仅将Silex用于小型项目?卫生署.您也可以在大项目中使用它.为什么不?您可以创建自己的应用程序结构 - 从控制器中移出业务逻辑,您可以创建存储库(Doctrine DBAL或PDO). (7认同)