使用codeigniter框架还是标准php?

使用codeigniter框架还是标准php?,php,codeigniter,frameworks,Php,Codeigniter,Frameworks,正如我建议在标准PHP上使用CodeIgniter框架一样,与开发人员讨论了这一点 他们的答复如下: 代码点火器的优点包括标准化的MVC结构。 缺点包括即使不需要全部使用整个框架,也需要整个框架,而且团队开展项目的速度稍慢。我们的普通定制PHP框架的优点——开发速度快,完全灵活,只需要相关的代码 你同意他们的回答吗?为什么? 我一直认为,由于使用了短标签和免费提供的模块,CI的推出速度更快。我有编写自己的CMS的经验,我必须承认,这是一个很有教育意义的决定,但从财务角度来看,这完全是不经济的决定

正如我建议在标准PHP上使用CodeIgniter框架一样,与开发人员讨论了这一点

他们的答复如下:

代码点火器的优点包括标准化的MVC结构。 缺点包括即使不需要全部使用整个框架,也需要整个框架,而且团队开展项目的速度稍慢。我们的普通定制PHP框架的优点——开发速度快,完全灵活,只需要相关的代码

你同意他们的回答吗?为什么?
我一直认为,由于使用了短标签和免费提供的模块,CI的推出速度更快。

我有编写自己的CMS的经验,我必须承认,这是一个很有教育意义的决定,但从财务角度来看,这完全是不经济的决定

在我看来,这些开发人员应该尝试编写一些规范。他们需要实现的非常详细的规范。然后,他们应该计算编写此类功能所需的时间,以便将这项工作与CI中已经包含的元素进行比较,并确定哪种选项在编写代码的时间、学习的时间以及测试的时间方面更可行

非业务项目:标准PHP。 商业项目:CI

尝试建立自己的框架是很有教育意义的,会给你很多帮助;它还可以让你创建一个适合你需要的框架,而不是一个通用的框架。但是,只有当您设法创建一个非业务项目时,才能做到这一点,因为业务项目需要稳定性,而您可能无法从自制的框架中获得稳定性。通过创建自己的框架,您可能会白白浪费大量的时间(处理业务时会很昂贵)和金钱


这基本上取决于你的项目类型。

我强烈反对

项目的细节将非常有用,但总体而言,框架非常有用,并且大大加快了工作(不一定是应用程序)

考虑一下这个事实,“定制PHP框架”(不管他们怎么想)是。。。习惯。这意味着它没有作为Zend框架进行测试,它在数千个项目中没有被证明是有效和成功的,而且它可能是非常简单的(因为大型框架已经由大型开发团队以及使用它们的公司的开发人员开发了数年)

当然,编写PHP代码是一个不错的选择,当你真的需要速度(应用程序的速度)时,有时间来构建它,并支付开发人员大量的费用(因为他们将实现几乎每个PHP框架附带的许多功能)。但你必须确定,你真的需要采取非标准的方法(作为“非标准”我指的是不使用可靠的框架)


这取决于你。如果您能提供一些关于必须创建的应用程序的详细信息,那么答案可能更相关。

他们的回答几乎是正确的

这通常是不真实的,事实上,在许多情况下可能恰恰相反。就个人而言,我能够使用框架更快地完成项目。我还没有在团队环境中使用MVC,但我可以想象,通过将工作划分为模型、视图和控制器,工作流分离将提高开发速度

你在建什么?这是关键问题

如果您正在构建一个动态的web应用程序,框架将为您节省大量的工作时间,因为您不必一次又一次地重新发明轮子。如果你的项目是基本的,那么事实上。。。框架增加了太多的开销。我想说,一般来说,如果您的项目需要大于5.php的文件,那么就开始使用框架,因为这就是它的目的——分离逻辑

使用CodeIgniter或其他框架进行更大的项目,如果您怀疑您的代码将开始变得混乱。MVC模式防止了这种混乱


听起来好像您以前从未使用过框架。决定框架是否适合任务的第一步是熟悉框架。这样你就可以更好地打这个电话了。我不建议你马上写你自己的;在使用CI、Cake或Zend之后,您将获得很多洞察力。

如果他们不介意教授他们的自定义框架,那么它可能是最合适的(尤其是如果编写它的人仍然在身边的话)

然而,定制框架可能会变成不受支持的噩梦。CI的优点是社区小,文档完整。一旦您推出了几个项目,我相信推出时间将与定制框架一样快。

  • CodeIgniter有一条学习曲线,但这条曲线可能比您的自定义框架更快。这是因为CodeIgniter有很好的文档记录
  • CodeIgniter是一个相当全面的库。一旦您了解了该框架,您不仅可以在当前项目中使用它的任何库,还可以在其他各种项目中使用它
  • 工作已经为你完成了。您甚至可能不知道您的代码中存在XSS或CSRF漏洞,因为您没有进行彻底的安全审计。但一个社区框架正在接受不断的审查
  • 您可以根据自己的需要扩展CodeIgniter,并且仍然具有自定义功能
  • 在使用CodeIgniter足够长的一段时间后,您将不可避免地学到一些优秀的编程实践,并提高您的总体知识,因为该框架采用了许多最佳实践
  • 如果你遇到问题,很可能是其他人已经解决了。CodeIgniter还有一个很好的社区,通过它,您可以节省数小时的调试时间
这就是说,CodeIgniter并不是唯一的框架,但我真的很喜欢这个事实,在新版本中
   Disadvantage: also a bit slower for the team to roll out the project.