1
42
从个人经验来看,这两个框架有几个不同之处,特别是在cake和yii中处理模型的方式。
顺便说一句,我在CakePHP和Yii中都是web应用程序实现的领头羊,我从团队得到的反馈是经验不足的团队更喜欢CakePHP,而Yii则更喜欢经验丰富的团队。做你想做的。 |
2
16
一个老职位,但只是增加一些经验。 我用蛋糕已经有一段时间了。准确地说是3年。 目前Yii绝对是PHP中MVC技术的领先者。这是一个目前其他PHP框架无法与之相比的框架。我个人对“网格”印象深刻。。。我认为PHP方面在某种程度上一直缺少这一点:)它的速度惊人,适合范围广泛的开发人员。 对于CakePHP:我读过很多博客,人们声称可能会坚持 “惯例” 和 “严格” 框架的。 也就是说,我同意也不同意。一旦你了解了,那些通常被认为是显而易见的说法。蛋糕的规则 引用 军队 引用 很容易被覆盖。最重要的是人们没有注意到的是 为什么公约是强制性的? 如果你是一个有很大生产压力的开发人员,我会说 自动魔术 在场景后面运行的蛋糕,例如获取相关模型数据、保存相关模型数据、定义基于 习俗 真是太神奇了。 遵循这些惯例所带来的整洁在这里无法解释,而只能由经验来解释。 我也读过很多博客,在那里我看到了对框架速度的抱怨。根据我的经验,你应该 读这本书。 人们定义关系的数量,Cake默认获取所有相关的模型数据。您可以重写此行为并仅获取所需的数据。事实上,你的束缚,解开你的模型飞行。蛋糕也有一种行为叫做 “可容纳” 就为了这个目的。 一旦你的手放在蛋糕上,生产和发展是真正的“迅速”。 而且,自从CakPHP 2之后,情况发生了很大变化,它的速度非常快,而且更具可扩展性。 总之,我真的相信Cake的文档非常糟糕;有了更好的文档、更多真实世界的示例和存储库,它将是一个更强大的竞争者。 |
3
5
两个框架都非常相似,但我喜欢Yii,因为它速度快,在模型上使用延迟加载,上百个帮助程序(jQuery小部件),不需要XML/YAML,很多扩展,控制台和Gii代码生成器,没有魔术的管理界面(可自定义,+控件),活动论坛,完全和美好的OOP设计,甚至系统。。。等。 Cakephp也是一个很好的框架,我喜欢他们正在计划培训课程。 |
4
5
蛋糕与意的区别
|
5
4
我不同意所有那些抨击卡凯普的人。作为两个框架的用户,如果你知道你在做什么,CAKEPHP是非常灵活的,这意味着它们要求人们使用约定,但是同样的文档告诉你如何绕过这一点。到目前为止,还没有提供真正的基准,所以你们都感到羞愧。。。 根据我的经验,我不得不为Cake做性能调整,而不是Yii,所以我想我还不能比较这些东西应该如何工作或者我希望它们如何工作。另外,大多数的基准测试都使用Cakephp和其他现成的框架,所以我认为Cakephp的性能会很差。 |
6
1
我和cakephp共事了2年,几乎完成了我在Yii的第一次工作。(我也在ZendF干了一年,讨厌它) CAKEPHP具有严格的体系结构,但其灵活性有很大的局限性。 Yii实际上是完美的一种方式,我称之为“黑客我”。最好的特性是它以一个空的控制器类开始您的一天,该类用于继承您的所有控制器。但很快我就发现,我可以使用特殊的应用程序范围(比如render)跳入并重写标准yii函数。在蛋糕上,你不能做很多黑客在你的应用程序代码。您最终将转到core目录中的一些非常特殊的情况(当您进行核心更新时,这是一个非常糟糕的主意)。 与cakephp相比,yii中的插件/扩展非常容易创建。 直到我知道,cakephp不支持模块。我自己并不是一个模块迷,但最终当你的应用程序代码增长时,你会想把它分成一个单独的组,例如,你可以将模块外包给其他人。 我相信,cakephp内核足够重,可以在高流量站点上减速。ZendF更糟。Yii在调用操作时有一个较小的调用堆栈。 没有cakephpt.php,但是有一个yiit.php(整个框架在单个文件中,仅用于生产)用于使用apc/etc预编译yii中的所有内容,并在系统文件打开调用中节省几毫秒。 YII的URL规则集和它的反向算法对于php中的其他框架来说是无可比拟的。与cakephp相比,IMO yii URL配置太简单了。然后,当你调用createUrl时,它也开始从同一个配置中创建准确的浏览器url,这使得你的应用程序中的url只随配置文件而改变。如果您选择将控制器/模块移动到一个单独的(子)域中,只需更改配置,您的应用程序代码可能会粗心大意。 模型具有属性标签、规则的方式,这些也可以更改。所有模型方法都支持get/post属性-lifesaver。然后关系规则也比cakephp中的功能要好得多。某些规则中的验证甚至原始PHP代码都具有很大的灵活性。 非常灵活的文件路径约定对于YII也是唯一的。然后子布局也使创建视图的可重用性变得非常容易。 |
7
0
我试过学习Cakephp,但是文档虽然很粗放,但是结构很差。例如,在手册的FormHelper部分,它讨论了表单选项,但没有解释它是如何工作的,只是语法,然后显示html输出。对于像我这样的初学者,我想知道语法可以,但是,同时,收集的表单数据去哪里,我如何获取输入字段,我如何指导表单输入去哪里,什么意思是“创建表单的上下文”,这个上下文是什么,它是如何使用的等等。 这是什么意思 ,
我确实研究过Codeigniter,它的解释非常直观,但是Cakephp文档虽然呈现得很好,但它并没有解释什么,而是读起来更像一本参考手册。我目前正在研究Yii,虽然它比Codeigniter更复杂,但文档比Cakephp更具信息性,因此也更容易理解。 |
8
-4
Yii对于MVC初学者来说更好,但是cakephp对于初学者来说有点困难。 两者都是不错的框架,但是Yii在net中有更多的教程或文档。 |
Dubby · 夹具不可用于后续测试 6 年前 |
rory-h · 3列布局-如何在每列中设置限制 6 年前 |
user794846 · Yii 2如何在文件上载时添加自定义验证检查 6 年前 |
mrateb · Yii2类型强制转换为整数的列 6 年前 |
Thread7 · memcache出错 6 年前 |
mrateb · Yii2-自定义分页 6 年前 |