Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 对于一个强大的、可扩展的开发平台,您建议使用什么样的框架?_Php_Zend Framework_Frameworks_Symfony1 - Fatal编程技术网

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

Php 对于一个强大的、可扩展的开发平台,您建议使用什么样的框架?,php,zend-framework,frameworks,symfony1,Php,Zend Framework,Frameworks,Symfony1,首先,让我为另一个框架问题道歉。但我认为这与通常的“我应该选择什么样的框架?”完全不同,足以证明这一点 我的情况是:在过去的一年里,我一直在使用一个定制的框架。从小型CMS到大型网站,甚至是中型社交网络,它都被广泛使用。它工作得很好,但我现在看到了它的局限性。因此,我决定切换到第三方框架。据我所知,较简单的框架(CI、Kohana、Cake)似乎过于死板——因此这让我转向了ZF。但是,我也听说采埃孚可能过于灵活,因此难以合作。更复杂的是,我正在寻找一个一刀切的解决方案;我需要一个小项目,非常大的

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

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

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

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

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

编辑:现在我几乎明白了 要改进ZendFramework,请使用 您自己的代码(按此处和此处的要求) ), 我切换回ZendFramework。我 目前正在设计我的应用程序和 每天我都在工作和测试 任何有ZendFramework的东西 越来越熟悉,也越来越容易理解 加快我的发展。我的忠告是: 使用ZendFramework

*

我目前也有同样的问题:

我的故事: 在我想扩大项目规模之前,我一直在使用CakePHP。 CakePHP并不像我希望的那样灵活。 所以我尝试使用ZendFramework

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

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

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

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

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


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

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

但是,我正在使用Yii框架,我喜欢它。 因为:非常快速、简单的小部件(易于重用组件,这非常好)


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

经过一些研究,我决定使用Symfony。以下是我的理由:

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

  • 不遵循PEAR命名方案(ZF不遵循)
  • 内部类以“sf”开头。这与将类名的第一个字母大写的做法相反
  • 变量和函数都是这样写的,但是类方法是camelCased的——这对我来说似乎太草率了
这些都是表面上的问题;因为我喜欢按自己的方式做事而困扰我的事情。我意识到,每当你使用第三方软件时,你必须愿意做出一些牺牲

ZF当然是一个不错的框架,但我觉得使用Symfony作为主要框架,并使用ZF的片段对其进行扩展是我和我的团队的最佳选择

编辑

从最初发布这篇文章到现在已经两年了,由于它仍然受到欢迎,我想我应该快速更新一下。在过去的两年中,我大概使用Symfony1.x构建了25-30个项目,我对它的表现非常满意。作为一个全栈MVC框架,与Doctrine合作,它几乎处理了我扔给它的所有东西。无论它不能处理什么,添加我自己的自定义代码都很容易。事实上,这就是我最喜欢symfony的地方——它是多么容易扩展。我最终构建了一系列插件和条令行为,大大降低了开发成本