2010-06-04 116 views
8

我知道PHP并且刚刚开始使用MySql(但计划使用ODBC)。我不需要任何书籍来解释这一点。网络应用程序:框架还是不框架?

我可能有资格来开发一个简单的网站,而是着眼于承担相当雄心勃勃的应用。我想,几乎所有的Web应用程序都具有安全性,可伸缩性等一些共同性(例如,我完全不知道如何在服务器服务器上分发数据库或应用程序)。由于我无法预见我可能开发的应用程序的确切性质(除了PHP将涉及PHP &),是否有任何要结婚的框架,或者我应该重新发明轮子并将其个性化以使其成为我自己的框架。

如果现有的框架,那么哪一个?我能给出的唯一帮助是我不太可能做网站,门户网站,购物网站等,可能更倾向于资产跟踪和数据挖掘。

回答

6

使用框架可以节省大量的时间,并帮助你组织你的应用程序逻辑MROE。

如果应用是小然后像或笨的Kohana框架是理想的。

如果您正在构建一个需要扩展Symfony的大型应用程序,或者可能需要Zend。

如果你开始你的Symfony的应用程序,你会instanly得到:

  • URL重写使用路线
  • 处理一切与您的网站做一个形式框架形成
  • 国际化和本地化
  • 电邮
  • 缓存
  • 管理区域生成器,帮助您快速添加数据
  • 单元测试框架

加上整个架构是可扩展的,并custmisable,以满足您的需求。

从没有框架开始,你必须自己编写所有这些。或者集成几个不同的开源模块。

希望这会有所帮助。

2

好的框架给你一个现成的解决方案,以共同的问题。为自己重新创造解决方案可能是过度的工作。作为一个为自己提供东西的学习练习有一定的价值。为了有效地完成真正的工作,请使用框架。

这并不认为在你的世界存在着良好的框架...

+1

+1。尽管大多数框架试图一次性解决所有问题,并与任何流行技术进行交互操作,但很少有优秀的speficic任务。大多数情况下,你会在这个框架内进行大量的黑客攻击。另一种方法是编写自己的特定于应用程序的框架。我自己发现的一个经验法则是,如果你掌握了一个框架,在满足你的需求的同时你的生产力非常高,但是可能会急剧下降。一个自己的框架需要花很长时间来设计和编写,但没有这个问题(如果你做得对!)。 – back2dos 2010-06-04 11:12:52

1

框架非常适合确保您的编程时尚,并且您的代码是可读的。他们还提供了大量的代码库,可以为开发Web应用程序节省大量时间。

Zend框架拥有大量的代码库,您可以将其包含到您的应用程序中以便轻松扩展它,并且对于可以访问这些库的数据挖掘将非常有用,因为我确信已经有很多数据挖掘库为Zend制作。

Symfony框架非常适合快速,使用的是InnoDB其数据库表这确保数据库的完整性,如果你打算制定了严格的关系型数据库是很有用的是非常严格的开发网站。管理生成器对于为您设计的网站开发内容管理系统也非常快速。

如果你打算采用一个框架,我会看看这个教程http://anantgarg.com/2009/03/13/write-your-own-php-mvc-framework-part-1/,它引导你通过你的第一个MVC(模型视图控制器)框架,并且比直接跳入像Zend这样的完整框架要简单得多。我想只要按照本教程中,直到你在一个MVC风格有一个体面的把握编码,它不值得重新发明,由于所涉及的时间量和现有框架的质量车轮。

希望这有助于

卢克

1

对于StackOverflow上的“哪个框架”问题已经有了一些很好的答案,所以我不会深入这些问题。

然而,据图书馆去,我会建议使用​​(输入更容易正确的禁制,支持多种数据库的,比PHP的本地数据库特定的类更好的API),并编写自己的几节课。 Smarty(W3C在他们的网站上使用它 - 这不是一个坏的认可),一个提供模板(也是一个写得很好的框架的好例子)的“精简”框架的一个很好的例子是Smarty。对于某些人来说,在PHP中使用模板语言似乎是多余的,但它确实有助于强化表示逻辑与应用程序逻辑的显着分离。

我认为最好避开PHP的框架,直到看到真正满足需求的东西,如果没有它,就无法轻松解决。

我认为你很高兴编写自己的类和小型站点特定的框架,所以你可以更好地评估其他框架(我认为这是PHP的独特挑战,因为有一点过度供应糟糕的框架,妨碍找到好的框架)。

+0

+1感谢ADODB库。我和Smarty一起玩了一个网站,而不是一个应用,但同意W3C推荐意味着什么。许多人似乎都推荐Symfony,所以它就像是一个交叉和滚动我自己的。我会进一步调查。 – Mawg 2010-06-05 02:28:28

+1

通过ADODB来临是一个很大的“为什么之前我没听说过?!”我的时刻。如果您想更新下线的帖子,会有兴趣了解您的经历。 – 2010-06-07 09:31:59

+1

我迟到了,但是在与ADODB和PDO合作之后,PDO对我的案例工作得更好。 – 2011-02-17 18:29:50