我想试试 Silex,但我有一些问题。
我知道使用 Symfony2,我想知道 Silex 是否与 Symfony 有很大不同或者它是相同的东西(相同的操作,相同的代码......)?
此外,Silex 被推荐用于小型 PHP 项目,而 Symfony 被推荐用于中型或大型项目,是吗?
我想试试 Silex,但我有一些问题。
我知道使用 Symfony2,我想知道 Silex 是否与 Symfony 有很大不同或者它是相同的东西(相同的操作,相同的代码......)?
此外,Silex 被推荐用于小型 PHP 项目,而 Symfony 被推荐用于中型或大型项目,是吗?
有几点值得注意:
也就是说,Silex 不会给你 Symfony2 拥有的捆绑包。
以下是关于何时使用 Silex 的一些有趣想法(尤其是在评论中): https ://web.archive.org/web/20160131151109/http://www.testically.org/2011/10/11/is-there -a-specific-situation-when-to-use-a-php-micro-framework-like-silex/
Silex 本身非常简单,这意味着如果您想要更多,而不仅仅是路由和测试,您将需要以服务的形式添加特定功能(DB、Twig ...)。我建议看看一些为您提供此功能的现成板: https ://github.com/lyrixx/Silex-Kitchen-Edition 或 https://github.com/ivoba/superleansilexplate(这是我的 :))
另一点是 Silex 的占用空间可能比 Symfony2 更轻,所以如果您需要一个更小更快的站点,Silex 值得考虑。
(更新)从 Symfony 2.8 开始,您可以使用 symfony 2 作为带有微内核控制器的微框架。请参阅此处的简短描述:symfony.com/blog/new-in-symfony-2-8-symfony-as-a-microframework。现在 Symfony 让我们可以更好地控制结构和架构。如果您更喜欢 Symfony 2 样式,则可以替代 Silex。
将 Silex 与 Symfony 2.8 之前的版本进行比较
Silex 微框架基于 Symfony,但并不完全相同。为一个小项目使用诸如 Symfony 之类的全栈框架只是对项目的过度杀伤。
在微框架中,您可以更灵活地选择要使用的工具。您可以对应用程序架构和逻辑做出更多决策。在具有一些扩展的全栈框架中,您将拥有一个已经预定义的架构和逻辑,并对其配置进行限制和限制。
Silex 旨在构建工具,而不是获取您可能不需要的设置工具。我会说,对于 Symfony 中的小型项目,您必须删除功能 - 在 Silex 中您必须添加它们。
Silex 不适合大型项目也是不正确的。Silex 可以成功地用于大型项目,但请记住,您必须构建工具以满足您的要求(如果您需要自定义架构和逻辑 - 也许这是正确的方法)。除此之外,我会考虑使用 Symfony,因为 Symfony 已经有很多开箱即用的工具。
总而言之,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
Silex 适用于小型项目,但也可用于大型项目。我最喜欢 Silex 的是我可以完全控制我的项目结构,但我的项目是否组织良好是我的责任。
如果像我一样,我也推荐它而不是 symfony,你使用 JS 框架将应用程序逻辑移动到客户端。对我来说,只使用 symfony 来服务几个 json 请求感觉有点过头了。
Silex 基于独立的 Symfony2 组件,并不像 Symfony 那样真正被视为全栈 Web 应用程序框架。你应该只将它用于只需要几个文件的非常小的项目,否则你很快就会过时。
在我写这篇文章的那一刻,Silex 处于维护模式,它的生命周期结束于 2018 年 6 月。
这意味着您不应该再将它用于新项目。
他们建议您改用Symfony 4。
Silex 非常好而且速度很快(对于简单的请求/要求,可能比 symfony 4 更快),但是 SF4 可能会为我们的应用程序带来一些新的堆栈和好处。
更新:然而,在我从 Silex 迁移到 Symfony 4 的所有尝试中,无论我做什么,简单服务的响应时间都增加了 4 倍。Silex 似乎在简单的微服务方面做得更好。
Silex 是一个伟大的框架,适用于小型和大型应用程序。为项目提供结构是您在 Silex 的责任。随着项目变得越来越大,您可以很好地将 symfony 组件集成到其中,尽管 symfony 提供者的文档不是很好,尤其是 symfony 安全组件。
Silex 非常适合原型项目。如果您知道您将使用大部分 symfony 组件,那么就选择 symfony,因为您最终会将几乎所有 symfony 组件集成到 silex 中。
就我而言,我需要开箱即用的速度,而 silex 为我提供了速度,虽然我使用了大多数 symfony 组件,但它比开箱即用的 symfony 快得多。
Silex 是一个 PHP 微框架。用于小型项目。symfony 和 silex 的编码风格与 symfony 几乎相似。但 symfony 用于大型项目