Cakephp和Yii:相似/不同/速度?

aWe*_*per 29 cakephp yii

我是CakePhp程序员.我决定试用Yii框架.我想知道CakePhp与Yii有什么相似之处.另外,Yii比CakePhp快得多吗?

ZaQ*_*ZaQ 42

从个人经验来看,两个框架都存在一些差异,特别是在蛋糕和yii中处理模型的方式.

  • 在cakephp中你不能使用复合主键,这对我来说是主要的交易破坏者.Yii支持复合主键.
  • Cakephp 强制执行约定,而yii 支持约定,您不必遵循某个标准.虽然强制执行会议是建立良好编程实践的好方法,但最终yii提供的灵活性为我赢得了这一轮.
  • 开箱即用的性能,我认为yii具有优势,但与性能调优一样,使用适当的缓存配置,并且只要您小心使用ActiveRecord模式,它们就没那么多了

作为旁注,我与CakePHP和Yii一起领导Web应用程序实施,我从团队获得的反馈是经验不足的团队优先考虑CakePHP,而Yii更受经验丰富的团队的青睐.按照你的意愿做.

  • CakePHP不强制执行约定,您可以非常轻松地覆盖所有约定 (33认同)
  • 你能告诉我什么是"复合主键" (7认同)

Kis*_*dan 16

一个旧帖子,但只是增加了一些经验.

我一直在用蛋糕一段时间.准确地说是3年.

目前,Yii绝对是领先于PHP的MVC技术的人.它是一个框架,可能没有其他PHP框架可以比较.我个人对"网格"印象非常深刻......我认为PHP方面总是缺少这种方式:)它速度惊人,适合各种开发人员.

对于CakePHP:我已经阅读了许多人声称并且可能依赖于框架的"约定""严格性"的博客.

那就是说,我同意并不同意.一旦你掌握它,通常做出的声明似乎很明显.蛋糕报价 Forces 报价的每条规则都可以轻松覆盖.最重要的是,人们没有注意到的是为什么公约被迫?

如果你是一个有很多生产压力的开发人员,我会说在场景后面运行蛋糕的自动魔术,比如获取相关模型数据,保存相关模型数据,根据约定定义关系是绝对惊人的.

遵循这些惯例所带来的整洁不能在这里解释,只能经历.

我还阅读了很多博客,其中我看到了对框架速度的抱怨.根据我的经验,我会说,你应该读这本书.人们定义关系数量,默认情况下,Cake获取所有相关模型数据.您可以覆盖此行为,只需获取所需的数据.事实上你的绑定,动态解开你的模型.Cake也有一种称为"可包含"的行为.

一旦你把手放在蛋糕上,生产和开发真的是"快速".

此外,自从CakPHP 2以来,它已经发生了变化,它非常快,甚至更具可扩展性.

总而言之,我真的相信Cake的文档很差; 通过更好的文档,更多真实世界的示例和存储库,它将是一个更强大的竞争者.


aWe*_*per 5

Cake和Yii之间的差异

  1. Cake每个控制器都有模型,其中Yii每个动作有1个,即Controller独立于Yii中的特定模型
  2. 在Yii中,您必须在每个操作中手动指定视图和模型
  3. 在Yii中,除非手动指定,否则不会获取相关和关联的记录
  4. 在Yii中,根据您是否要保存数据,模型可以是活动记录模型或表单模型的两种类型(即,从中扩展)
  5. Cakephp强制执行约定,而yii是灵活性。

  • 无论如何ZaQ有一个更好的答案 (10认同)
  • 您在#1中是什么意思? (2认同)

小智 5

两个框架非常相似,但我喜欢Yii因为速度快,在模型上使用延迟加载,数百个帮助程序(jQuery Widgets),不需要XML/YAML,大量扩展,控制台和Gii代码生成器,没有魔法的管理界面(+可定制,+控制),活跃的论坛,完全和美丽的OOP设计,甚至系统......等.

Cakephp也是一个非常好的框架,我喜欢他们正在计划培训课程.