【问题标题】:Where to connect to DB in MVC在 MVC 中连接到 DB 的位置
【发布时间】:2011-01-15 10:50:58
【问题描述】:

我正在使用 php 并为我的 Web 应用程序构建一个 MVC。我需要连接到我的数据库,查看当前 URL,将其与我的数据库中的数据进行比较,然后将正确的内容从我的数据库返回给用户。

我的问题是,我应该将连接到数据库并对其进行处理的代码放在哪里?这会放在 Model 类中吗?

【问题讨论】:

    标签: php model-view-controller frameworks database


    【解决方案1】:

    模型应该是主动使用数据库连接的实体,对于使用表网关/活动记录实现的简单模型可能会起作用。对于更复杂的模型,数据映射器进一步将数据库与应用程序的其余部分隔离开来(这使得更改存储后端的侵入性更小)。

    您的控制器应处理请求并将所需的任何相关数据传递给模型。

    也就是说,简单地建立一个数据库连接通常是由某种引导脚本完成的。然后模型(或数据映射器)使用该连接。我不确定这在技术上是否属于“控制器”。在实践中,大多数框架都有引导程序、路由器和前端控制器 - 无论您如何称呼它们,您的数据库都应该由模型使用,但由您的引导程序设置

    【讨论】:

      【解决方案2】:

      嗯,模型只是对象的定义,例如可以是 Vehicle。因此,与数据库的连接应该在 Model 抽象类(Vehicle 类将继承)中,并带有可以保存此信息的方法。

      如果你想要更多的灵活性和更高级的东西,请使用框架,我个人推荐CakePHP

      【讨论】:

        【解决方案3】:

        所有的数据库交互都在 Model 类中。

        【讨论】:

        • PHP 中的模型镜像数据库中的表/列...不是连接或操作
        猜你喜欢
        • 2017-08-03
        • 1970-01-01
        • 1970-01-01
        • 2012-09-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-04
        • 2023-03-05
        相关资源
        最近更新 更多