我应该使用纯PHP / MySQL来开发Web应用程序吗?

时间:2010-03-06 21:21:00

标签: php mysql web-applications

自从我还是个孩子以来,我一直在研究编程/脚本语言。我从HTML和CSS开始,然后继续学习PHP(我非常擅长),然后是Python,Perl和C(++)。我最近在PHP(以及MySQL)中做了很多工作。

花了这么多时间学习这些语言后,我现在想要。我正在考虑开始/贡献一个开源项目;几乎可以肯定是某种Web应用程序。

根据我编写(不可否认的小)Web应用程序的经验,我发现编写“纯粹的”PHP是一个非常缓慢而乏味的过程。

我的问题是:如果我要从头开始编写一个相对复杂/大型的Web应用程序,我该怎么写呢?我应该使用纯PHP / MySQL,还是使用像Django,Rails或CakePHP这样的框架?

4 个答案:

答案 0 :(得分:14)

从头开始编写一个复杂的应用程序,我绝对不会使用“裸PHP”:我当然会使用一个框架:它们提供:

  • 大量有用的课程/方法
  • 一些规则 - 比如“哪个目录应该保存控制器”“如何编写视图”,...
  • MVC - 即他们帮助更好地构建项目

请注意,此答案适用于个人项目和专业项目。


PHP中有几个很棒的框架,例如:

要记住的一件事:学习如何使用框架需要一些时间:从一个小项目开始,在去一个大项目之前,可能是一个好主意; - )


现在,当你问自己“我应该选择哪个框架”的问题时,这主要是个人偏好的问题......这里有几个问题/答案可能会有所帮助:


当你问我选择哪个框架时;好吧:

  • 我非常喜欢Zend Framework,经常使用Doctrine作为ORM(它是Symfony的默认ORM,但可以很容易地与ZF一起使用)
  • 如果我不得不选择另一个,我可能会选择Symfony,因为我已经看到它在工作中的几个项目中使用过,并且知道许多使用它并且喜欢它的人

答案 1 :(得分:2)

如果您已经知道该语言,那么绝对应该使用框架(除非您是受虐狂)。

对我来说,除了他们通常与各种优秀的图书馆捆绑在一起的事实之外,使用框架就是有效地利用时间。

最重要的是,它可以节省您的时间。您已经摆脱了担心基础/架构的细节,并且能够将时间花在应用程序本身的功能上。

此外,它将保存其他时间;特别是因为你计划全部开源。

答案 2 :(得分:1)

取决于您的技能水平,是的,您可以在没有框架的纯PHP中完成。这也很好,IMO,以提高您在调试,逻辑和其他方面的技能。但是,另一方面,由于学习曲线,您将限制其他程序员改进/维护您的代码,在这种情况下,框架用作通用语言。我建议如果您的项目很复杂,或者其他程序员可以加入项目,那么您选择一个让您感觉舒适并使用它的框架。

答案 3 :(得分:0)

取决于谁将使用代码,必须运行哪个平台以及数据库应该是多么复杂。

如果您为公司或社区开发,使用PHP总是最容易的,因为有许多其他人知道它,因此对于公司来说,招募知道该语言的人更容易。

如果你最想自己开发,使用你最喜欢的东西,我甚至听说过用纯粹的普通lisp编写的网站。

如果应用程序可以在Windows上运行,那么C#也是一个很好的解决方案,因为您可以非常快速地开发Web应用程序,而.NET库可以轻松完成许多任务。

作为数据库后端,如果结构简单,你可以使用MySQL但是对于更复杂的数据库,我会使用postgres,因为随着复杂性的增加(主观意见),MySQL的性能似乎快速下降。

编辑: 正如其他人所说,框架总是一个好主意。大多数当前语言都有Web框架。对于PHP,最近向我推荐了CakePHP。