我应该使用CakePHP 2或3进行开发

时间:2015-01-19 09:54:15

标签: php cakephp

我刚刚开始使用CakePHP作为服务项目的软件。我可以看到版本3仍处于测试阶段,我可以看到这个项目需要3-6个月。

我的问题是我应该从版本2还是版本3 beta开始,后者可能会达到稳定版本。

我不想学习第2版,然后第3版有一些变化。

5 个答案:

答案 0 :(得分:11)

更新:如果你开始一个新项目,现在去CakePHP 3.0。 CakePHP 3不再处于RC或beta状态,因此现在可以毫无疑问地使用它。


这个问题很可能会被关闭,因为它是固执己见的,我还没决定是否因为这个原因而自行投票,但是......

Cake3实际上可以用于需要3-6个月的项目 - 这是我的看法。但在此之前,您必须期待一些API更改。我不会牺牲Cake3和语言功能的更现代的架构,主要是使用不支持它们的旧版本的命名空间和闭包,因为Cake3还没有达到3.0(没有RC)。

当1.3处于alpha状态时,我自己开始使用Cake,而从1.2到1.3的转换非常顺利。在1.3的持续开发过程中,我不得不熟悉API的变化,但这不是一个游戏破坏者,我从来没有花太多时间去做它。

与Cake3相同的故事。我们正在使用2.x并使用Cake3开始一个新项目并且没有太多麻烦。到目前为止,它只是工作正常,偶尔采用API更改不像以前那样破坏游戏。

你可以看到Cake3现在已经完成了大部分功能。

https://github.com/cakephp/cakephp/wiki/3.0-Roadmap

如果你走得更远,你会注意到3.1将把最小的php版本提升到5.5。

https://github.com/cakephp/cakephp/wiki/3.1-Roadmap

这是因为5.4将达到它的支持终点。所以没有理由再支持它了。基于此,您可以在3.0发布时进行猜测:可能在5.4正式弃用之前。

现在Cake3的唯一缺点可能是插件的可用性。但是已经有很多插件升级到3.0甚至是3.0的新插件。

答案 1 :(得分:5)

<强>更新

绝对100%与CakePHP 3.x一起使用。由于Cake 3现已启动并且不再处于测试版或RC等状态,因此不再有任何争议。


原始答案:

如果你现在开始(Jan&#39; 15),我认为没有必要学习CakePHP 2.x.为什么要经历麻烦,当你的项目完成时,你已经有了过时的代码(我知道&#34;过时&#34;可能有点极端,但是...)。

不仅如此,CakePHP2和CakePHP3的世界不同,学习曲线相当大。我无法想象,在这一点上学习一种语言只需要在不到一年的时间内重新学习整个东西。

如果CakePHP 3 RC没有可行的选择(即项目一直崩溃,或者左右问题),而且你已经到了最后期限,那么你无从选择。但CakePHP 3 RC似乎运行良好,已经在现场项目中使用。

无脑回答IMO:与CakePHP 3一起去。如果我在你的鞋子里,我当然会这么做。

答案 2 :(得分:0)

此时(2014年1月19日),使用cakephp 2是安全的。 cakephp 3不是一个稳定的版本,并且还没有明确的安排日期。如果您在当前版本中进行开发,我不认为稍后将其更新为稳定版本将是轻而易举的。你最终可能会改变很多代码。

答案 3 :(得分:-4)

您好我正在使用cakephp 1年以来我发现您可以使用cakephp 2.x因为它是稳定版本不需要额外配置但是在cakphp 3中是不稳定版本您在cakephp 3&amp中安装了作曲家; cakephp 3的结构与cakephp2完全不同,例如cakephp2根文件夹是APP但是cakphp 3没有app文件夹,它包含src,bin,vendor等

答案 4 :(得分:-7)

我发现了很多问题,宽度cakephp 3.1

  1. appController 中,函数 beforeFilter()效果不佳,就像在 cakephp 2.x 中一样,当我录制返回false时它应该返回一个空白页面但是现在它返回所有内容,如果 appController 中的此函数 beforeFilter()没有控制任何内容。

  2. 模型中,函数 beforeFilter(),beforeSave()和beforeDelete()已被cakephp 3.1中的太多函数替换,但实际上是函数不是真正有用的,原因很简单,这些函数不能像我们期望的那样工作,没有这些函数的集中化,你可以说这些新函数根本不起作用。

  3. 前缀系统我们如何控制某些用户访问管理员/前缀,例如仅从控制器访问所有 cakephp 2.x 这个伟大的功能的自由现在可以给我们所有这些已经消失了 cakephp 3.1 ,并且你应该尊重一些不好的限制。< / p>

  4. cakephp 3.1错误管理根本没有帮助你找到问题的根源,就像你正在使用没有编译器你自己找到问题的根源,如果它是一个非常大的项目我garenty,你可以在60%的时候失败....

  5. 太多原因促使您等待其他稳定版本的cakephp 3.x开始使用此技术。