【问题标题】:ASP.NET MVC to CakePHP questionsASP.NET MVC 到 CakePHP 的问题
【发布时间】:2011-04-20 11:38:17
【问题描述】:

我今年在大学里一直在做 ASP.NET MVC,只触及了一些基本原理,但我非常喜欢它。作为一个 6 年多的 PHP 粉丝,我计划使用像 CakePHP 这样的东西来继续在我的工作中使用 MVC 模式。

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

1.) 有人会如何执行类似于 LINQ 的操作,当您执行操作结果时,您可以简单地构建一个查询,然后将其返回到视图中?

2.) Cake 中是否存在存储库?我喜欢 ASP.NET 中的这些以及为您的数据库逻辑创建自定义方法然后在任何地方调用它们的能力。

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

【问题讨论】:

    标签: asp.net-mvc cakephp


    【解决方案1】:

    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 中做的几个项目非常愉快。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-11-01
        • 2011-04-04
        • 2011-11-17
        • 2010-11-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多