我正在使用PHP作为个人项目构建像SO这样的网站。我开始编写平面PHP文件(与HTML混合的SQL查询)。做了几页后,我注意到它很难维护。所以我开始使用ORM(Propel)。然后我被介绍给Symfony。
我开始重构我的代码以适应Symfony的MVC模式。对我来说,似乎对于像Symfony这样的小项目实际上会让事情变得更复杂,而且我实际上发展得更慢。框架是否更适合由多个团队设计的大型应用程序?或者我做错了什么?
答案 0 :(得分:6)
任何框架或新技术都会有一个学习曲线,在此期间您似乎会变慢。如果您遵循MVC模式和框架的最佳实践,通常会得到更清晰,更易于维护的代码。 MVC有一些开销,并且结构很好。对于较大的项目,持续时间较长的项目(站点的生命周期以及开发时间)以及具有更多开发人员的项目,这种开销将带来更多回报。对于无法维护的小型站点,开销可能太大而不值得。
如果您打算专业编写PHP,或者打算认真写作,那么您可以花时间学习一两个流行的框架。
此外,“像SO这样的网站”绝不是“小项目”。
答案 1 :(得分:1)
这取决于框架以及您希望在未来的发展速度与目前的发展速度进行权衡。最好的方法是尝试一些框架,看看哪种框架最适合你。一些随机的例子包括:
我已经使用了上述所有内容,我个人认为Agavi是最好的,虽然肯定不是最快的。我和其他人一样对蛋糕印象不深,但这又是个人偏好。
答案 2 :(得分:0)
我不知道你的项目到底有多“小”,但即使花时间学习框架和设计项目以使其遵循框架的理念,它通常也是值得的。
根据我的经验,当项目开始像您的项目那样开始增长时(天真的PHP→分解模型→...),最好的情况是,最好的情况下,代码与简单的框架非常相似。另一方面,当您使用框架时,项目的基本设计通常是经过深思熟虑的,所以即使您不是经验丰富的软件架构师(也许您就是?),您的项目将获得良好的基础
另外,你说它是一个个人项目,所以我猜它是某种爱好或教育的东西。使用框架可以是了解Web开发中的设计模式和最佳实践的好方法。
也许Symfony不是你的最佳选择。我想这最终只是个人意见问题。我个人喜欢使用CakePHP编写PHP和Django时用Python编码。