ASP.NET MVC到CakePHP的问题

时间:2011-04-15 10:30:55

标签: asp.net-mvc cakephp

我今年一直在大学做ASP.NET MVC,只涉及一些基本原则,但绝对喜欢它。作为一名超过6年的PHP粉丝,我计划使用像CakePHP这样的东西继续在我的工作中使用MVC模式。

但是我有几个问题,因为它们是两个框架之间的巨大差异:

1。)如果有人做类似于LINQ的事情,你什么时候做动作结果你可以简单地构建一个查询然后将它返回到视图?

2。)Cake中存在存储库吗?我喜欢ASP.NET中的这些,并且能够为数据库逻辑创建自定义方法,然后在任何地方调用它们。

3.)与模型混淆。在ASP.NET中,我可以使用单个模型处理大量表,然后轻松调用任何表或表组合。在Cake中,似乎每个表都有一个模型???

2 个答案:

答案 0 :(得分:2)

CakePHP带有自己的持久性API,而在ASP.NET MVC中,您可以(并且必须)使用您选择的其他内容。

1)CakePHP中没有LINQ的等价物,但是you can still construct queries pretty easily

2)CakePHP的模型可以附加功能,它们也有一些称为Behaviors的东西。

3)CakePHP的持久性系统将一个模型与持久性实体(例如表)相关联。我不确定能通过更具体的例子给出更好的答案。

在我转向.NET之前,我做了很多PHP工作。虽然我仍然更喜欢ASP.NET MVC或RoR(主要是因为它们是更好的框架和语言,恕我直言,而不是PHP),我在CakePHP中做的很少的项目非常愉快。

答案 1 :(得分:0)

我不熟悉ASP.NET,但我可以回答其中的一些问题。

  1. LINQ ......我不熟悉。如果 你可以举一个简单的例子,我 可以解释是否有类似的 Cake中的方法。
  2. 您引用的存储库可以是 所提到的行为 @HackedByChinese。但是,你可以 添加更好的结果 app_model.php文件的函数。 应用中的所有模型都可以访问任何模型 app_model.php文件中的函数 可以添加到您的应用程序 目录。
  3. 是。 CakePHP设计有代码 分离的想法。背后的想法 每个型号的单个表允许您 建立一个非常FAT的模型 保持可管理性。你建立了所有 关系,验证和 其他模型特定的代码到每个 模型。当事情发生时 用户错误,例如,你 知道你需要查看用户 模型。这可以被覆盖,你 可以将所有模型访问权限放入 如果你想要一个模型文件,但是 它使代码马虎。如果你是 要做到这一点,为什么要使用Cake?只是 将所有模型代码放入 Model.php,你的所有控制器 Controller.php中的代码和所有 View.php中的视图代码并调用 好的我想你会同意的 这不是非常的结构 可读或可扩展的代码。