【问题标题】:How to structure PHP MVC Models如何构建 PHP MVC 模型
【发布时间】:2023-03-31 21:35:02
【问题描述】:

我想知道如何构建 MVC 模型,例如我有一个包含基本 CRUD 操作和身份验证功能的用户模型。如果我想将函数分开,一个类代表数据库交互函数,另一个类代表业务逻辑(登录过程等),我该怎么做?

Class User{

    function getUser($id){

       //code

    }

    function create($data){

       //code

    }

    function update($id , $data){

       //code

    }

    function delete($id){

       //code

    }

    function authenticate($username , $password){

       //code

    }

    function createCookie(){

       //code

    }

}

【问题讨论】:

  • 我想知道你为什么要重新发明轮子而不是使用像 Idiorm 这样具有这些功能的简单 ORM 吗?
  • @uglypointer 我只是想了解如何分离这些函数,而不是将它们全部放在一个类中
  • 回答你的问题有点困难,因为它是“正确的”——这些东西应该分开。仅仅因为您有 2 个不同的职责:一个是处理 user 作为应用程序的一部分,另一个是持久性问题。我不明白你的问题how do i do that? 你的意思是技术上如何?你编写不同的类来满足不同的需求。既然你在问自己这样的问题,你可以更进一步,停止将 MVC 视为应用程序基础,而将其视为 GUI。是否真的需要从 GUI 部分了解应用程序的每个细节?

标签: php model-view-controller


【解决方案1】:

我会做以下修改

  1. 使用抽象 CRUD 函数和抽象变量创建一个抽象基模型类,该变量告诉模型将使用的表名。
  2. 对于我的每个表,我将创建一个特定于基表的模型,继承我的基本模型类并定义表名和 CRUD 操作。
  3. 为了定义我的所有额外功能,我将创建一个模型,该模型可以使用在步骤 2 中创建的模型来执行多项操作

PS:这不是我最初的想法。许多 PHP MVC 框架使用这种模式来构建它们的代码。

【讨论】:

    猜你喜欢
    • 2012-03-09
    • 2021-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    • 2017-05-31
    相关资源
    最近更新 更多