Php 为什么我需要使用流行的框架?

Php 为什么我需要使用流行的框架?,php,frameworks,Php,Frameworks,我已经做了很多年的PHP开发人员,拥有很多工具;我自己开发的工具,或者自由使用我学会信任的解决方案 我最近研究了CodeIgniter,发现他们有许多类和助手例程来帮助开发,但在示例中没有看到我用自己的工具无法轻松完成的东西。简单的事情,如数据库抽象、电子邮件助手等。有一些与路由相关的有趣代码——将URL映射到正确的控制器;但是,如果你曾经编写过一个带有漂亮URL的MVC风格的web应用程序,那么即使这样,自己编写代码也不是特别困难 即使在浏览了其他一些流行的框架之后,我仍然没有看到任何可以节省

我已经做了很多年的PHP开发人员,拥有很多工具;我自己开发的工具,或者自由使用我学会信任的解决方案

我最近研究了CodeIgniter,发现他们有许多类和助手例程来帮助开发,但在示例中没有看到我用自己的工具无法轻松完成的东西。简单的事情,如数据库抽象、电子邮件助手等。有一些与路由相关的有趣代码——将URL映射到正确的控制器;但是,如果你曾经编写过一个带有漂亮URL的MVC风格的web应用程序,那么即使这样,自己编写代码也不是特别困难

即使在浏览了其他一些流行的框架之后,我仍然没有看到任何可以节省大量时间的东西。即使是在论坛上,我也看到人们在努力获得为他们工作的工具。我确实理解它们如何对初级开发人员更有用,因为完整的系统设计技能需要一段时间才能完全理解和欣赏

然而,经常有人告诉我应该使用现成的框架来产生我的解决方案,但我仍然不相信。对像我这样的人来说,真正的好处是什么?我只是精英主义者,还是这是一种普遍看法


<>编辑:看看这里的一些答案,我是否应该考虑打包我的工具集作为它自己的框架,编写一些文档和发布教程?如果我对接受别人的框架犹豫不决,那么打开它并更多地关注它是否有助于提高我自己的技能/工具?

你可能有一点。。。。然而,我不会低估很多人的能力,就我所关心的bb解决方案而言,phpBB就是一个例子。为什么?因为在他们的支持板上有成千上万的帖子,很多人使用它,他们很有知识,可以帮助人们解决问题


因此,在您的案例中,使用流行框架的唯一原因是许多其他人使用它,针对它报告错误,修复它并支持它。在您自己的库中获得相同的覆盖率是很困难的。

您将错过的一件事是进入流行框架的所有验证


您的例程没有流行库那样的公开性。

框架有几个优点:

  • 你不必写所有的东西。在您的情况下,这并没有什么帮助,因为您有自己多年积累的框架

  • 框架提供了标准化和经过测试的做事方式。给定框架的用户越多,遇到的边缘案例和编码的边缘案例就越多。您自己的代码可能会,也可能不会,以同样的方式经过战斗

  • 其他人可以被招募到具有标准框架的项目中,并可以访问该框架的文档、示例和经验。您自己的代码片段可能有完整的文档记录,也可能没有完整的文档记录,或者有使用示例。。。但其他人一开始对他们感到满意的可能性不大

编辑:

关于打包您自己的框架的想法,为公众消费清理它的好处可能比让其他人使用它的好处更大

原因很简单:你必须重新评估你对每个组成部分的假设,它们是如何结合在一起的,以及每一部分的理解程度。一旦发布了框架,您的成功将在很大程度上取决于启动和运行框架的容易程度

不费吹灰之力的大胜利对于采用是至关重要的(这些胜利将鼓励人们进一步深入研究该框架)。RubyonRails是一个框架示例,它可以轻松获得如此巨大的成功,然后隐藏了一些功能层,这些功能层可能会让刚刚起步的人不知所措。(RoR应用程序的质量问题不是关键,关键是采用速度)

在人们采用框架之后,它关系到持续使用的易用性。一些小细节,比如一致的参数使用模式,在这里起到了很大的作用。如果一个类在每个方法上都有许多参数,而另一个类在调用方法之前都有预期要调用的setter,那么您将失去用户,因为如果不借助文档,他们无法“感觉”给定情况下的预期


如果适当地解决了易于采用和易于处理的问题,您只需要幸运地让人们采用您的框架。如果这些问题得不到妥善解决,即使最初对该框架的兴趣也会迅速减弱。原因是有很多框架:你需要脱颖而出,以获得让其他人使用你的工具包的优势(因为他们对你的框架和你对其他人一样谨慎)。

我认为主要原因是,当你使用一个通用框架时,有很多人会立即熟悉你的产品


除此之外,我认为最重要的是,无论你使用什么工具,都能真正完成工作。如果其他人碰巧熟悉它,那么这是一个额外的好处。

框架代码可能经过良好的测试,并且相对没有bug。通过使用它,您可以节省自己的时间来测试/维护您自己的代码以完成同样的事情


任何节省的时间都是好的。懒惰在编程中是有回报的。

我同意你应该使用自己的自定义框架。它不仅让你更容易理解,而且提供了终极的工作保障

我可以马上想到三个原因:

  • 一个众所周知的框架将为其他可能需要处理您的项目的开发人员所熟悉
  • 一个著名的框架将拥有书籍、讨论板和其他专家等资源,可用于查找更多信息
  • 经理们通常会有一个“不要重新发明轮子”的博士学位