2010-08-04 39 views
3

我正在建造一个像使用PHP作为个人项目一样的网站。我从编写平坦的PHP文件开始(将SQL查询与HTML混合在一起)。在做了几页之后,我注意到它很难维护。所以我开始使用ORM(Propel)。然后我介绍了Symfony。PHP框架适合什么样的项目?

我开始重构我的代码以适应Symfony的MVC模式。对我来说,对于像Symfony这样的小型项目来说,事实上它让事情变得更加复杂,实际上我发展得更慢。框架更适合由多个团队设计的大型应用程序吗?或者我做错了什么?

+0

对您正在使用的工具缺乏广泛的了解,以便快速开发和调整它。除非你知道你想要做的一切,以及如何用选择的工具来实现它,否则你必须先掌握它。 – Prix 2010-08-04 21:06:51

+0

CodeIgnitor非常轻巧,不会让你觉得你正在做很多工作来创造一些小东西。虽然,像SO这样的网站;这是一个小项目吗? – 2010-08-04 21:14:55

+0

我只是想学习web开发设计模式和最佳实践。这个项目不是很重要,它只是我学习所学知识的一种方式。 – 2010-08-04 21:26:27

回答

5

任何框架或新技术将有一个学习曲线,在这个曲线期间,你似乎会变得更慢。如果您遵循框架的MVC模式和最佳实践,您通常会得到更简洁,更易维护的代码。 MVC有一些开销,并且让事情结构合理。对于较大的项目,持续时间较长的项目(网站的生命周期以及开发时间)以及拥有更多开发人员的项目,这种开销将会带来更多收益。对于不会维护的小型站点,开销可能太大而不值得。

如果你打算写专业的PHP,或者你打算认真写,你的时间花在学习一个或两个流行的框架上。

此外,绝不是“像SO这样的网站”这个“小型项目”。

+1

用于学习曲线+1,长期用于更大的回报。 – cbednarski 2010-08-04 21:35:34

+1

完全同意。新技术看起来很乏味,直到你发现魔术为止;-)我开始的最后10个业余时间项目都是以“这个项目对于使用symfony来说太小了......”然后几天后:“该死,我需要重写这个“......要点是:如果你已经超越了学习曲线,那么很少有使用框架的情况是不合理的。 – phidah 2010-08-04 22:04:22

1

这取决于框架以及您希望以现在的发展速度取决于未来发展的难易程度。最好的方法是尝试一些框架,看看最适合您的是什么。一些随机的例子包括:

我用所有上述的,我个人认为的Agavi是最好的,但肯定不是最快的工作。我没有像其他人那样对Cake感到如此印象深刻,但这又是个人偏好。

0

我不知道你的项目真的很“小”,但即使学习一个框架和设计你的项目需要时间,以便它遵循框架的哲学,它通常是值得的。根据我的经验,当项目开始像你的项目显然一样成长时(天真的PHP→分解模型→...),最好的情况是,代码非常类似于简单的框架。另一方面,当你使用框架时,你的项目的基本设计通常是经过深思熟虑的,所以即使你不是一个有经验的软件架构师(也许你是?),你将为你的项目打下良好的基础。

另外,你说这是一个个人项目,所以我想这是某种爱好或教育的事情。使用框架可以很好地了解Web开发中的设计模式和最佳实践。

也许Symfony并不是您的最佳选择。我想最后是个人意见。就我个人而言,当使用Python进行编码时,我喜欢使用CakePHP编码PHP和Django。