Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Web应用程序:到框架还是不到框架?_Php_Web Applications_Frameworks - Fatal编程技术网

Php Web应用程序:到框架还是不到框架?

Php Web应用程序:到框架还是不到框架?,php,web-applications,frameworks,Php,Web Applications,Frameworks,我知道PHP,我刚刚开始使用MySql(但计划使用ODBC)。我不需要任何书来解释这一点 我可能有资格开发一个简单的网站,但目标是开发雄心勃勃的应用程序。我认为几乎所有的web应用程序都有一些共性,比如安全性、可伸缩性等(例如,我完全不知道如何在服务器上分发数据库或应用程序) 由于我无法预见我可能开发的应用程序的确切性质(除了涉及PHP和ODBC之外),所以与一个框架结合有什么意义,还是我应该重新发明轮子并对其进行个性化,使其成为我自己的框架 如果是现有的框架,那么是哪一个?我能提供的唯一帮助是

我知道PHP,我刚刚开始使用MySql(但计划使用ODBC)。我不需要任何书来解释这一点

我可能有资格开发一个简单的网站,但目标是开发雄心勃勃的应用程序。我认为几乎所有的web应用程序都有一些共性,比如安全性、可伸缩性等(例如,我完全不知道如何在服务器上分发数据库或应用程序)

由于我无法预见我可能开发的应用程序的确切性质(除了涉及PHP和ODBC之外),所以与一个框架结合有什么意义,还是我应该重新发明轮子并对其进行个性化,使其成为我自己的框架


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

好的框架为常见问题提供了现成的解决方案。为自己重新设计解决方案可能是一项过度的工作。作为一种学习练习,为你自己准备一些东西是有价值的。要有效地完成实际工作,请使用框架


这确实假设您的世界中存在良好的框架…

我目前正在使用PHP框架Kohana(版本3)进行开发。还有一种方法可以使用ORM非常快速地创建模型(针对(H)MVC模式)。有关更多信息,请查看:并查看和

框架非常有助于确保您的代码以一种有序的方式编写,并且您的代码是可读的。他们还提供了大量的代码库,可以为您节省大量开发web应用程序的时间

Zend framework有大量的代码库,您可以将其包含到应用程序中以方便扩展,而对于数据挖掘来说,访问这些库将非常有益,因为我相信已经为Zend制作了许多数据挖掘库

Symfony framework非常适合快速开发网站,并且非常严格地使用innodb作为其数据库表,这确保了数据库的完整性,如果您打算开发严格的关系数据库,它非常有用。管理员生成器还可以非常快速地为您设计的网站开发内容管理系统

如果你打算使用一个框架,我会看一下本教程,它将引导你完成你的第一个MVC(model view controler)框架,它比直接跳入像Zend这样的完整框架要简单得多。我将一直遵循本教程,直到您掌握了mvc风格的编码。由于所涉及的时间和现有框架的质量,重新发明轮子是不值得的

希望这有帮助


Luke

使用框架可以节省大量时间,并帮助您合理组织应用程序mroe

如果应用程序很小,那么像CodeIgniter或Kohana这样的框架是理想的

如果你正在构建一个需要扩展Symfony或possiby-Zend的更大的应用程序,那么你可以看看

如果您要在Symfony中启动应用程序,您将立即获得:

  • 使用路由重写url
  • 一个表单框架,用于处理与web表单相关的所有内容
  • 国际化和本地化
  • 发电子邮件
  • 缓存
  • 管理区域生成器,帮助您快速添加数据
  • 单元测试框架
另外,整个框架是可扩展和可定制的,以满足您的需要

在没有框架的情况下开始,您必须自己编写所有这些内容。或者集成几个不同的开源模块


希望这能有所帮助。

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

但是,就库而言,我建议使用(更容易正确地清理输入,支持多个DB,比PHP的原生DB特定类更好的API),并编写一些自己的类

提供模板的“lite”框架的一个很好的例子是(W3C在其网站上使用了它,这是一个不错的认可)。对某些人来说,在PHP中使用模板语言似乎是多余的,但它确实有助于实现表示逻辑与应用程序逻辑的显著分离

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


我的看法是,您很乐意编写自己的类和小型特定于站点的框架,这样您就能够更轻松地评估其他框架(我认为这对于PHP来说是一个独特的挑战,因为有点过多的蹩脚框架妨碍了找到好的框架).

我在几个项目中使用了Yii。需要说的是,它的扩展(backventor和bootstrap)在开发的第一阶段确实节省了时间。尽管大多数框架试图一次解决所有问题,并与任何流行技术进行互操作,但很少能够出色地完成特定任务。大多数时候,你都会在这个框架内进行大量的黑客攻击。另一种方法是编写自己的特定于应用程序的框架。我自己发现的一条经验法则是,如果你掌握了一个框架,你的工作效率会非常高,虽然它满足了你的需求,但过了这条线可能会大大降低。一个自己的框架需要很长时间来设计和编写,但没有这个问题(如果你做得对的话!)+1感谢ADODB库。我曾在一个网站上玩弄Smarty,而不是一个应用程序,但我同意W3C的建议是有意义的。很多人似乎都推荐Symfony,所以这就像是我自己的翻滚。我会进一步调查。遇到ADODB对我来说是一个巨大的“为什么我以前没听说过?!”时刻。如果你想更新,我很想知道你的经历是什么