2010-03-06 188 views
9

自从我还是个孩子以来,我一直在编程/脚本语言。我从HTML和CSS开始,然后进入PHP(我非常擅长),然后到Python,Perl和C(++)。我最近在PHP中做了很多工作(和MySQL一起)。我应该使用纯PHP/MySQL开发Web应用程序吗?

经过这么多时间学习这些语言,我现在想要东西与他们。我正在开始/贡献一个开源项目;几乎肯定是某种网络应用程序。我发现编写“纯粹的”PHP是一个非常缓慢和乏味的过程。

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

+0

不使用PHP。 (http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/)你会发现你花大部分时间在HTML + CSS + JS中做前端材料,适当的模板。使用PHP作为控制器部分是一个不错的选择。尝试flask + Jinja2 + Bootstrap或其他东西,同时将逻辑从演示文稿中分离出来。这个世界不需要更多的PHP程序员。但是,框架,但不是没有正确理解它的作用。 – sleeplessnerd 2013-01-30 18:58:48

回答

14

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

  • 了大量有用的类/方法
  • 一些规则 - 如“其中目录应控制器保存”,“如何写视图”,...
  • MVC - 即他们帮助更好的项目结构化

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


PHP中几大框架,如:

有一点要记住:学习如何使用一个框架,以及需要一定的时间:首先是一个小项目,然后再前往一个大的,可能会是一个不错的主意;-)


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


正如你问我哪个框架我会选 ;好:

  • 我真的很喜欢Zend框架,并经常使用Doctrine作为ORM(这是Symfony的默认的ORM,而是可以与ZF很容易使用)
  • 如果我不得不选择另外一个,我会可能与Symfony的走,因为我已经看到了一对夫妇在工作项目中使用,并且知道很多谁使用它的人喜欢它
+0

你会推荐任何特定的框架吗? – 2010-03-06 21:23:57

+1

我真的很喜欢CakePHP – user103219 2010-03-06 21:26:24

+0

我不一定是在PHP框架之后;我看过Rails和Django,虽然不是很详细。 – 2010-03-06 21:27:55

2

如果你已经知道的语言,你应该最肯定使用一个框架(除非你是一个受虐狂)。

对我来说,除了这个事实,他们通常捆绑各种各样的伟大的图书馆,使用框架是关于有效利用时间。

最重要的是,它会为您节省时间。您可以从担心基础/架构的细节中解脱出来,并且可以花时间掌握应用程序本身的功能。

另外,它会保存其他时间;尤其是因为你打算全部开放源代码。

+0

另一种选择是写自己的框架类型 – 2010-03-06 21:49:31

+0

除非你正在尝试学习一门语言,否则重新发明方向盘并不能很好地利用你的时间;除非,当然,你认为你可以做出更好的车轮(然后给你更多的权力)。 – 2010-03-07 01:46:42

0

取决于谁将使用代码,在哪个平台上运行以及数据库应该有多复杂。

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

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

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

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

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

1

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

相关问题