代码之家  ›  专栏  ›  技术社区  ›  Steven Mercatante Dimitri Kopriwa

对于一个强大的、可扩展的开发平台,您建议使用什么样的框架?[闭门]

  •  7
  • Steven Mercatante Dimitri Kopriwa  · 技术社区  · 15 年前

    首先,让我为另一个框架问题道歉。但我认为这与通常的“我应该选择什么样的框架?”完全不同,足以证明这一点。

    我的情况是:在过去的一年里,我一直在使用一个定制的框架。从小型CMS到大型网站,甚至是中型社交网络,它都被广泛使用。它工作得很好,但我现在看到了它的局限性。因此,我决定切换到第三方框架。据我所知,较简单的框架(CI、Kohana、Cake)似乎过于死板——因此这让我转向了ZF。但是,我也听说采埃孚可能过于灵活,因此难以合作。更复杂的是,我正在寻找一个一刀切的解决方案;我需要一个小项目,非常大的项目工程设置。我是主要的开发人员,但我需要我的合作伙伴最终能够学习系统并帮助完成不太复杂的编程任务。

    我研究过教义,我喜欢它。因此,我倾向于使用Symfony(带条令)作为ZF的主要框架来填补空白。另外,我需要能够将我自己的作品添加到这个平台,与任何第三方库并行。我希望这将为我提供一个坚实的、可扩展的平台,因为我们真的负担不起每隔几个项目就更换一次框架。

    我正在寻求与我现在处境相同的其他人的建议。如有任何建议,将不胜感激。

    编辑:我在下面发布了我的解决方案,希望能帮助其他处于同样情况的人

    6 回复  |  直到 15 年前
        1
  •  6
  •   Steven Mercatante Dimitri Kopriwa    13 年前

    经过一番研究,我决定和Symfony一起去。以下是我的理由:

    • 比ZF更详细
    • 由于使用了YAML文件,看起来非常可定制(但我从未被它们淹没)
    • 自动加载自定义类不需要像在ZF中那样做任何额外的工作(尽管在ZF中设置并不困难)
    • 开发者工具栏很棒,他们在1.3版中添加了一些不错的功能
    • 使用其他框架(ZF、eZComponents)中的片段的能力使我确信,我不会在找到我需要的东西时遇到困难
    • 似乎Symfony有一个更大的社区。谷歌“symfony教程”与“zend框架教程”相比,您将看到结果数量上的巨大差异
    • 大量文档:教程(Jobeet教程到目前为止非常好)、API参考,以及对框架及其基本原理的更具可读性的描述
    • 雅虎!已经在他们自己的一些项目中使用了它——很高兴看到一个大名鼎鼎的人支持一个框架IMHO

    编辑:为了帮助处于同样情况下的其他人,我不喜欢Symfony的以下几点:

    • 不遵循PEAR命名方案(ZF不遵循)
    • 内部类以“sf”开头。这与将类名的第一个字母大写的做法相反
    • 变量和函数都是这样写的,但是类方法是camelCased的——这对我来说似乎太草率了

    这些都是表面上的问题;因为我喜欢做事而困扰我的事情 我的

    从最初发布这篇文章到现在已经两年了,由于它仍然受到欢迎,我想我应该快速更新一下。在过去的两年中,我大概使用Symfony1.x构建了25-30个项目,我对它的表现非常满意。作为一个全栈MVC框架,与Doctrine合作,它几乎处理了我扔给它的所有东西。无论它不能处理什么,添加我自己的自定义代码都很容易。事实上,这就是我最喜欢symfony的地方——它是多么容易扩展。我最终构建了一系列插件和条令行为,大大缩短了开发时间。管理生成器工具是上帝派来的。我仍然在为一些项目使用symfony1.4,但现在我决定主要集中在使用Symfony2上。它与symfony 1完全不同,但我真的很欣赏它的架构。更重要的是,它似乎比symfony1.x更容易扩展。我确实错过了1.x的一些特性,但这是切换框架时必须做的事。

        2
  •  4
  •   TomáÅ¡ Fejfar    15 年前

    我喜欢使用ZF,因为它有很强的约定。你可以确信,一切都会如你所期望的那样。类名、函数名、变量名、目录结构。。。所有这些。如果你坚持下去,它真的会加速发展。如果对其进行调整,则更像是在检查ZF内部构件时查看自己的代码;)

    所有其他框架都试图利用“哇”效应(博客30秒,推特2小时,等等)。但在开发实际应用程序时,您会意识到,您需要的是随意使用、灵活和广泛的体系结构。

        3
  •  3
  •   Ismael    15 年前

    Zend框架:庞大、灵活、模块化。 只有当我在构建一个企业级的超大型系统时,我才会使用。

    Yii框架 因为:非常快速、简单的小部件(易于重用组件,这非常好)。

    Yii它更容易使用,因为它不是一个企业框架,并且在大多数情况下具有您真正需要的所有基本功能。

        4
  •  3
  •   Community rohancragg    7 年前

    编辑:现在我几乎明白了 Adding 3rd Party lib to Zend 这里呢 Using 3rd Party lib within Zend ), 目前正在设计我的应用程序和 每天我都在工作和测试 加快我的发展。我的忠告是:

    *

    我的故事: 在我想扩大项目规模之前,我一直在使用CakePHP。

    在我第一次阅读《快速入门》指南时,我有点担心一个简单的留言簿应用程序会有这么多文件。

    在“玩”了一段时间ZendFramework之后,我决定在自己的定制框架中将ZF用作第三方库。

    问题是,如果您使用Zend的MVC组件,您可能会被迫使用整个框架的30%,因为MVC组件是ZF的最大部分之一。 我的意思是,如果我使用了那么多的框架,你为什么不也使用其余的呢?

    之后,我决定编写完整的自定义框架,而不使用ZendFramework作为第三方库。

    现在,我坐在堆积如山的文件前,满是关于代码设计的草图。

    我会让你了解我进一步决定的最新情况。

        5
  •  1
  •   rr.    15 年前

    我真的认为这取决于你的风格。这个问题没有答案。

    我还成功地使用了CakePHP和另外两个我工作过的公司专有的框架,并取得了巨大的成功。他们都在尝试做相似的事情,只是选择最适合你的。

        6
  •  1
  •   Nathan Kleyn    15 年前

    总之,在过去的几个月里,它为我提供了一个很好的系统,但是我一次又一次地听到交响乐非常棒,所以你可能会用你的第一个想法来赚钱。随着NetBeans对Symphony的支持正在进行中,我可能也会发现不久之后需要切换。