Sensiolabs / Symfony重复组件:我应该使用哪些组件?

时间:2011-10-07 17:50:31

标签: symfony php-5.3

疙瘩还是容器?

http://pimple.sensiolabs.org/

http://components.symfony-project.org/dependency-injection/

树枝或模板?

http://twig.sensiolabs.org/

http://components.symfony-project.org/templating/

我不是在征求意见,我只是想知道这个:

  • 为什么这些组件使用不同的名称分发?
  • 哪些更新?
  • symfony 2使用的是哪些?
  • 是否有像Pimple和Twig这样的组件列表?就像容器和模板一样:http://components.symfony-project.org/

2 个答案:

答案 0 :(得分:7)

您列出了3类项目。

  1. 第三方图书馆。虽然由sensiolabs提供,但这些是不在symfony命名空间下的独立库。

  2. 旧的Symfony 1.x组件,也是独立的,但在Symfony命名空间下。可在components.symfony-project.org获得,与PHP 5.2兼容。

  3. Symfony2组件,the Symfony2 package的一部分,但也可以单独使用。与PHP 5.3 +兼容。

  4. 好的,让我们对你列出的项目进行分类。

    第1类

    • 疙瘩
    • 枝条

    Symfony2目前没有Pimple软件包。建议使用的方法是使用随框架一起提供的Symfony2 DependencyInjection组件。

    注意:Silex大量使用了疙瘩,所以如果你喜欢疙瘩,你可能想看看它。它是一个基于Symfony2组件的不同框架。

    另一方面,Twig受Symfony2核心框架的支持。有一个核心捆绑包,大多数文档建议你使用它。这绝对是在Symfony2中进行模板化的推荐方法。

    有关更多这些内容的列表,请查看Fabien Potencier's GitHub profile。 IMO的重要组成部分是:Twig,Silex,Pimple,Goutte,(Pirum,Sismo)。

    第2类

    • Symfony Components DependencyInjection
    • Symfony Components Templating

    这些已经过时,不应再使用了。

    第3类

    • Symfony2 DependencyInjection组件
    • Symfony2模板组件
    • Symfony2 Twig Bundle

    这些都是Symfony2框架的一部分,您应该使用它们。它们是最新最好的。

    希望能回答你的问题!

答案 1 :(得分:1)

我认为你可以使用http://components.symfony-project.org组件,如果你有某种遗留项目使用php 5.2或你的服务器的php早于5.3。

我有一个项目,我正在做一些重写,但它是遗留的PHP 5.2所以我决定使用旧的组件(http://components.symfony-project.org)而不是新的symfony的2.0组件