何时为PHP web应用程序使用框架或从头开始开发
在构建新的web应用程序时,您是如何决定使用框架(如Zend框架)的 与使用框架相比,从头开始有什么好处?我很清楚框架的优点,也知道一些何时为PHP web应用程序使用框架或从头开始开发,php,zend-framework,frameworks,Php,Zend Framework,Frameworks,在构建新的web应用程序时,您是如何决定使用框架(如Zend框架)的 与使用框架相比,从头开始有什么好处?我很清楚框架的优点,也知道一些 我听说,真正大型的项目通常不使用现成的框架,而是有某种定制的内部框架/结构。是不准确的,或者这是什么原因?当您知道您将要重新发明其他人已经编码和测试过的东西时,您决定使用框架(插件、模块)。可能在99%的情况下。当您没有太多时间使用框架时 在构建新的web应用程序时,您是如何决定使用框架(如Zend框架)的 您应该评估新web应用程序的需求。然后,比较框架提供
我听说,真正大型的项目通常不使用现成的框架,而是有某种定制的内部框架/结构。是不准确的,或者这是什么原因?当您知道您将要重新发明其他人已经编码和测试过的东西时,您决定使用框架(插件、模块)。可能在99%的情况下。当您没有太多时间使用框架时 在构建新的web应用程序时,您是如何决定使用框架(如Zend框架)的 您应该评估新web应用程序的需求。然后,比较框架提供的特性集,看看它是否符合要求。还要考虑许可和开发人员熟悉的事情。 与使用框架相比,从头开始有什么好处 在我看来,没有。像ZF这样的通用框架可以很容易地适应大多数项目。然而,如果你的项目的目的纯粹是为了学习新事物,那么你自己去做可能会很有用,只是为了学习如何去做 我听说,真正大型的项目通常不使用现成的框架,而是有某种定制的内部框架/结构。是不准确的,或者原因是什么
造成这种情况的原因通常是政治或此类项目的年代。回到几年前,还没有非常适合开发大规模应用程序的框架/库。今天,我看不出有任何理由不使用库,因为它将显著缩短开发时间并生成更多无错误代码(假设开发人员熟悉该框架)以下是我对它的看法 当我想要构建一个一次性的系统,或者快速原型化一个系统时,我使用一个框架。注意prototype这个词。准备好在它建成后扔掉它。一次性系统说明是指您希望构建一些东西来完成定义良好的任务,并且更改和复制的风险很小(因此维护不是一个大问题) 当我想要构建一个系统时,我会使用一组库,这个系统将有许多副本,或者在其生命周期中需要进行大量修改。基本上,这从一开始就强制执行适当的架构设计步骤。通过这种方式,您可以确保应用程序的设计从一开始就符合您的需求和预期的更改,而不是将其视为事后诸葛亮 注意,我说的是“一套库”。我的意思是,我采用了一个我喜欢的“框架”,并仅将其用作一组辅助函数。我不会以这种“心态”来构建应用程序。实际上,我是根据所设计的体系结构来构建应用程序的(这通常与框架首选的方法有很大不同)。我在可以的时候使用库,在不能的时候编写自定义类 我为什么这么说?我的观点很简单。是什么让现代PHP框架成为“RAD”框架(快速应用程序开发)?基本上,它允许您跳过高层架构(这需要花费相当多的时间),直接开始编码(因为框架开发人员为您做了一轮架构)。这个观点的问题(从我的角度来看)在于,架构没有考虑到您需要的东西。这是解决一般问题的一般方法。一旦你遇到实际问题,一种特定的方法(如果设计巧妙的话)应该比任何通用的方法都要好得多 我确实使用预先制作的框架,但我会根据问题的需要使用它们。如果问题需要一个成熟的架构(我处理的大多数架构都是IMHO),那么我就没有充分利用框架的潜力。但我正在利用这种潜力,让应用程序完全按照我的需要运行。这是一种权衡,你必须意识到这一点。但我觉得我所得到的远远超过了我所失去的。。。你必须自己做出选择 仅我的$0.02…使用可靠可靠框架的优势:
请注意我的更新-第三段。此外,大多数PHP框架倾向于相当重的(相对于微框架)和单片(相对于模块化)。这意味着您可能需要根据特定的框架调整您的编码风格。作为一个Pythonista,我经常发现我真正想从PHP框架中得到的只是ORM——Apache已经处理了路由,而PHP已经是doubl了