Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.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_Zend Framework_Frameworks - Fatal编程技术网

何时为PHP web应用程序使用框架或从头开始开发

何时为PHP web应用程序使用框架或从头开始开发,php,zend-framework,frameworks,Php,Zend Framework,Frameworks,在构建新的web应用程序时,您是如何决定使用框架(如Zend框架)的 与使用框架相比,从头开始有什么好处?我很清楚框架的优点,也知道一些 我听说,真正大型的项目通常不使用现成的框架,而是有某种定制的内部框架/结构。是不准确的,或者这是什么原因?当您知道您将要重新发明其他人已经编码和测试过的东西时,您决定使用框架(插件、模块)。可能在99%的情况下。当您没有太多时间使用框架时 在构建新的web应用程序时,您是如何决定使用框架(如Zend框架)的 您应该评估新web应用程序的需求。然后,比较框架提供

在构建新的web应用程序时,您是如何决定使用框架(如Zend框架)的

与使用框架相比,从头开始有什么好处?我很清楚框架的优点,也知道一些


我听说,真正大型的项目通常不使用现成的框架,而是有某种定制的内部框架/结构。是不准确的,或者这是什么原因?

当您知道您将要重新发明其他人已经编码和测试过的东西时,您决定使用框架(插件、模块)。可能在99%的情况下。

当您没有太多时间使用框架时

在构建新的web应用程序时,您是如何决定使用框架(如Zend框架)的

您应该评估新web应用程序的需求。然后,比较框架提供的特性集,看看它是否符合要求。还要考虑许可和开发人员熟悉的事情。

与使用框架相比,从头开始有什么好处

在我看来,没有。像ZF这样的通用框架可以很容易地适应大多数项目。然而,如果你的项目的目的纯粹是为了学习新事物,那么你自己去做可能会很有用,只是为了学习如何去做

我听说,真正大型的项目通常不使用现成的框架,而是有某种定制的内部框架/结构。是不准确的,或者原因是什么


造成这种情况的原因通常是政治或此类项目的年代。回到几年前,还没有非常适合开发大规模应用程序的框架/库。今天,我看不出有任何理由不使用库,因为它将显著缩短开发时间并生成更多无错误代码(假设开发人员熟悉该框架)

以下是我对它的看法

当我想要构建一个一次性的系统,或者快速原型化一个系统时,我使用一个框架。注意prototype这个词。准备好在它建成后扔掉它。一次性系统说明是指您希望构建一些东西来完成定义良好的任务,并且更改和复制的风险很小(因此维护不是一个大问题)

当我想要构建一个系统时,我会使用一组库,这个系统将有许多副本,或者在其生命周期中需要进行大量修改。基本上,这从一开始就强制执行适当的架构设计步骤。通过这种方式,您可以确保应用程序的设计从一开始就符合您的需求和预期的更改,而不是将其视为事后诸葛亮

注意,我说的是“一套库”。我的意思是,我采用了一个我喜欢的“框架”,并仅将其用作一组辅助函数。我不会以这种“心态”来构建应用程序。实际上,我是根据所设计的体系结构来构建应用程序的(这通常与框架首选的方法有很大不同)。我在可以的时候使用库,在不能的时候编写自定义类

我为什么这么说?我的观点很简单。是什么让现代PHP框架成为“RAD”框架(快速应用程序开发)?基本上,它允许您跳过高层架构(这需要花费相当多的时间),直接开始编码(因为框架开发人员为您做了一轮架构)。这个观点的问题(从我的角度来看)在于,架构没有考虑到您需要的东西。这是解决一般问题的一般方法。一旦你遇到实际问题,一种特定的方法(如果设计巧妙的话)应该比任何通用的方法都要好得多

我确实使用预先制作的框架,但我会根据问题的需要使用它们。如果问题需要一个成熟的架构(我处理的大多数架构都是IMHO),那么我就没有充分利用框架的潜力。但我正在利用这种潜力,让应用程序完全按照我的需要运行。这是一种权衡,你必须意识到这一点。但我觉得我所得到的远远超过了我所失去的。。。你必须自己做出选择

仅我的$0.02…

使用可靠可靠框架的优势:
  • 其他人做了很多工作 给你
  • 其他人给了你一个坚实的基础 概念模型作为设计的基础 你的申请
  • 对框架的改进变得越来越重要 对应用程序的改进
  • 使用可靠可靠的框架的缺点:
  • 您的应用程序依赖于 其他人的工作
  • 您必须使用框架的 概念模型作为设计的基础 你的申请。如果是坏消息 适合你的发展是什么 只是要困难得多
  • 为了纳入改进措施 将框架添加到您的 你必须重复你的申请 测试
  • 打破框架中的变化 可能会破坏你的申请
  • 可能很难找到合适的人选 要制作或接受的框架 建议的关键变更 祝你的申请成功
  • 如果您对框架进行了更改 不被接受的,你必须 继续修补每个新版本
  • 框架作者可以放弃 框架,让您来支持它 你自己

  • 请注意我的更新-第三段。此外,大多数PHP框架倾向于相当重的(相对于微框架)和单片(相对于模块化)。这意味着您可能需要根据特定的框架调整您的编码风格。作为一个Pythonista,我经常发现我真正想从PHP框架中得到的只是ORM——Apache已经处理了路由,而PHP已经是doubl了