要使用codeigniter框架还是标准的php?

时间:2011-05-21 18:36:17

标签: php codeigniter frameworks

与开发人员讨论这一点,因为我建议使用CodeIgniter框架而非标准PHP。

他们的回应如下:

  

Code Igniter的优点包括标准化的MVC结构。   缺点包括你需要整个框架这一事实,即使你不需要全部使用它,并且团队推出项目也有点慢。我们常规的自定义PHP框架的优点 - 快速开发和完全灵活,只需要相关的代码。

您是否同意他们的回应?为什么? 我总是认为CI由于使用短标签和免费提供的模块而更快推出。

7 个答案:

答案 0 :(得分:15)

  • CodeIgniter有一个学习曲线,但该曲线可能比您的自定义框架更快。这是因为CodeIgniter有很好的文档记录。
  • CodeIgniter是一个相当全面的库。学习完框架后,您不仅可以在当前项目中使用任何库,还可以在其他各种项目中使用它。
  • 这项工作已经完成了。您可能甚至不知道代码中存在XSS或CSRF漏洞,因为您尚未进行彻底的安全审计。但是社区框架正在不断审计中。
  • 您可以根据自己的需要扩展CodeIgniter,并且仍然具有自定义功能。
  • 在使用CodeIgniter足够长的时间后,您将不可避免地选择一些优秀的编程实践并提高您的整体知识,因为该框架采用了许多最佳实践。
  • 如果您遇到问题情况,可能是其他人已经解决了问题。 CodeIgniter还有一个很好的社区,通过它你可以节省数小时的调试时间。

也就是说,CodeIgniter并不是唯一的框架,但我确实喜欢这样一个事实:随着新版本的发布,它们已经转移到了PHP5。一般来说,开源框架是可行的方法。

答案 1 :(得分:5)

我强烈反对。

项目的细节非常有用,但总的来说,框架非常有用,可以显着加快工作(不一定是应用程序)

考虑一下这个事实,'自定义PHP框架'(无论他们怎么想)都是......自定义的。这意味着它没有经过测试,例如。 Zend Framework,它在数以千计的项目中都没有被证明是高效和成功的,它可能非常简单(因为大型开发团队和使用它们的公司的开发人员已经开发了多年的大型框架)。 p>

当然编写PHP可能是一个很好的选择,当你真正需要速度(应用程序),有时间构建它和资金支付开发人员将非常广泛地开发它(因为他们将实现许多功能随几乎所有的PHP框架一起提供)。但你必须确定,你真的需要采用那种非标准的方法(因为'非标准',我的意思是不使用一些可靠的框架)。

由你决定。如果您可以提供有关必须创建的应用程序的一些详细信息,则答案可能更相关。

答案 2 :(得分:4)

  

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

尝试构建自己的框架非常有教育意义,可以为您提供很多帮助;它还可以让您创建一个适合您需求的框架,而不是一般的框架。但是,只有当您设法创建非业务项目时,才可以这样做,因为业务项目需要您可能无法从自制框架获得的稳定性。通过创建自己的框架,您可能会花费大量时间(在处理业务时花费很多)和无用的资金。

这主要取决于您的项目类型。

答案 3 :(得分:2)

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

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

答案 4 :(得分:2)

如果他们不介意教他们的自定义框架,那么它可能是最合适的(特别是如果写这篇文章的人还在那里)。

但是,自定义框架可能变成不受支持的噩梦。 CI具有小型社区和全面文档的优势。一旦你用它推出了一些项目,我确信推出时间将与自定义框架一样快。

答案 5 :(得分:2)

我们放弃了自己的自定义框架,转而支持CI。在财务上这是一个艰难的决定,因为我们已经花费了1000个小时的时间并在其上运行了很多项目。

CI使我们能够更快地发展并使我们的项目标准化。该体系结构还允许我们轻松扩展而无需担心“破坏”核心框架。

CI是IMO的前进之路

答案 6 :(得分:1)

他们的反应是准确的......

   Disadvantage: also a bit slower for the team to roll out the project.

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

你在建什么?这是至关重要的问题。

如果您正在构建动态Web应用程序,框架将为您节省数小时的工作量,因为您不必一次又一次地重新发明轮子。如果您的项目的要点是基本的,那么确实......框架会增加太多的开销。我要说的是,作为一般规则,如果您的项目需要大于5个.php的文件,那么就开始使用框架,因为这就是它的目的 - 到分开逻辑。

使用CodeIgniter或其他框架进行大型项目,您怀疑代码将开始变得杂乱无章。 MVC模式可以防止这种混乱。

听起来好像你之前从未使用过框架。决定框架是否适合任务的第一步是熟悉框架。然后,您将处于更好的位置以进行此呼叫。我不建议你马上写自己的;在使用CI,Cake或Zend之后,你将获得很多见解。