创建自定义mvc框架的好处

时间:2010-07-30 20:48:10

标签: php model-view-controller

从零开始创建自定义php mvc框架对于小型数字代理商来说是完全没有意义的吗?

我最近从一位朋友那里听说他的大学在他们的代理机构中花了很多时间在这样一个项目上。他们反对使用另一个例如cake或zend的论点是他们带有如此多的未使用的功能,因此有很多不必要的代码。

我原以为这样的事业完全没有意义,实在是浪费时间和金钱。当然,选择一个尽可能接近您的需求的框架然后定制/扩展它会更有意义。在像zend这样的框架上,代码肯定会比1或2个程序员在几个月内创建的代码更好/更好。

这对我来说没有意义 - 否则有人会追问我吗?

9 个答案:

答案 0 :(得分:6)

不,我想你会发现大多数人会同意你的看法 - 我当然觉得这完全是浪费时间。特别是考虑到他们是一个小型机构,他们有限的资源可以更好地花在其他地方。

由于他们关注的是膨胀的框架,我建议他们使用轻量级的PHP框架进行调查,例如CodeIgniterKohana

答案 1 :(得分:6)

使用您自己的框架比其他解决方案有一个很大的优势。这意味着你的总数我的意思是全部!控制它。无论其他框架发生什么,因为有一天你有开源软件,而另一天它可能被放弃或停止项目。您的框架仍将开发。即使这意味着你需要不断添加一些功能,随着时间的推移它会得到回报。此外,PHP毕竟是一个巨大的框架,并且它正在发展。编写自己的框架将使您及时了解这项技术:)当然,保持其他框架或CMS也是个好主意,因为也许您的客户会想要使用它们,您也可以从中学习并将一些解决方案移到你的软件:D

答案 2 :(得分:4)

我认为这毫无意义。但这是PHP程序员的诅咒,他们倾向于一次又一次地发明轮子。我知道我在说什么。我也试过了。

最好的方法似乎是学习一个框架,如果它不适合你,请问知道其他框架的朋友,了解特定问题是如何在其他框架中解决的,如果没有一个看起来好,那么可能是时候了开始研究新框架。

包含大量未使用代码的点并不完全有效。 Zend包含的类可以据我所知去掉。

编辑:例如,可以通过eAccelerator增强PHP的性能。我发现它比构建一个全新的框架更容易。

答案 3 :(得分:3)

MVC FW不到平均项目代码库的5%,因此我强烈建议为每个项目构建MVC并使其适应项目规范。 如果有人对MVC模式有足够的了解,并且在使用和构建MVC框架方面有一些经验,那么它可以在几天内构建。

一般参数是自定义FW给出的速度和性能。

答案 4 :(得分:3)

有时当人们害怕变化和学习新事物时,他们会提出各种愚蠢的理由,说明为什么有些事情是坏的,不应该被使用。

我曾经在公司工作,决心编写自己的Web框架而不是使用Django。其中一位正在研究“管理”部分框架的开发人员表示我希望他失去工作,因为Django已自动生成管理员。

除非它是非常具体的框架,并且你有很好的理由和足够的项目资金,如果你不能使它成为与那里已有的相同或更好的质量,那么重新发明轮子永远不是一个好主意。

答案 5 :(得分:2)

这取决于他们做什么样的项目,以及他们的需求。永远不要忘记,在软件中,最好的'总是取决于你在做什么。没有一个黄金解决方案'为了一切。这包括mvcs。

编码自己的mvc有多种原因:

  • 您可以根据您的具体需求定制
  • 你可以保持封闭源,减少暴露,提高安全性所带来的安全性
  • 你可以继续开发它,然后在成熟时将它发布到世界并实现一个主要目的 - 无论如何,许多当前的mvcs都以这种方式出现。
  • 您可以继续开发它,保持封闭的源代码,并在其上构建大量的SaaS服务和应用程序,您将保留完整的权利。也可以使用apache许可证完成。
  • 您可以实现任何其他mvc未达到的目的。尽管每个mvc的狂热者都相信他们拥有一个解决方案,但每个mvc都有它的缺点。并且相信所有可以做到的事情已经完成了#39;因为有15-20 mvcs,就像愚蠢的说法一样,所有可以发现的东西都被发现了#39;并且有人在20世纪初说过后者。

更不用说你使用的是外部mvc,你有义务为那个mvc的项目团队做很多事情。他们可能已经或可能会介绍您不喜欢的内容,甚至可能会妨碍您的特定应用程序。

更不用说他们可能会被遗弃。可能发生在最大的。 Codeigniter风靡一时。发生了什么 ?埃利斯基本上倾销了它。发展速度放缓。可能很快就完全停止了。开源并不能保证一个项目 - 有许多开源项目采用类似的方式。

使用Codeigniter编码主要应用程序的人会发生什么?他们是否会承担他们自己的Codeigniter安装的安全性?因此事实上成为他们自己的mvc的维护者?或者他们是否会聘请外部各方为他们维护mvc?

未来投资不佳。

我喜欢编写自己的mvc主要是为了让mvc符合我自己的编码风格。我对mvc的标准:

  • 快速发展
  • 快速修改
  • 低维护
  • 速度
  • 安全
  • 极简单
  • 未来发展的可靠性

我以前为自己编写了一个主要的mvc。我仍然在我的一个爱好网站上成功运行它,每月处理约600,000-1,200,000个独立访问者。在特定时刻,可以在网站上出现250多个访问者(谷歌分析 - 它不包括任何机器人),一页一页地敲击。它甚至没有眨眼。我喜欢。尽管它有各种各样的缺点,我不喜欢它,它的作用非常棒。

在当前的mvc即时通讯中,我正在使用我从前一课程中学到的经验,因为它们适用于我的特定目的。

更不用说它是磨练和发展新技能的好方法。

但有一件事是必须的:计划得很好,并继续建立,改变和改进它。

答案 6 :(得分:1)

对于任何框架

赞成

  • 获得您想要的确切功能
  • 控制对项目重要的小细节
  • 熟悉代码

缺点

  • 打破你的一切必须自己解决
  • 无法从过去的错误中吸取教训
  • 由于观众较少,
  • 不会发现任何数量的错误

我个人建议在考虑编写自己的框架之前先探索现有的框架。请记住,如果你一天都不理解它就没关系!

答案 7 :(得分:1)

这是浪费时间。除非他们正在建立一个拥有Facebook流量的网站,否则他们将会使用像Yii与他们自己的网站相同的性能而非常重要

答案 8 :(得分:0)

这不一定是浪费时间,但我同意你的意见,我自己也尝试过。我一直在使用Zend,Code Igniter和Fuel,这取决于我正在做什么项目。

我创建自己的框架的后果是截止日期。如果您正在处理一个截止日期非常紧迫的项目,那么创建自己的框架将是个坏主意。