【问题标题】:How to make a controller in this sample model?如何在此示例模型中制作控制器?
【发布时间】:2017-01-18 16:59:54
【问题描述】:

如何在这个模型中制作一个控制器并传递给视图?对不起,我只是使用 mvc oop 的新手。我只想学基础。对控制器有点困惑,因为我知道模型将保存数据库上的查询。我不知道如何通过或在控制器上工作。

我在模型和控制器中的做法是否正确?我只是需要一些建议。关于如何正确处理 Model 和 Controller。

而且我没有使用任何框架,只是 php 本身和 mvc 模式。

型号

class userModel{

    public function __construct(){  
        $dbCon = new DbConnector();
        $this->dbCon = $dbCon->getConnection();
    }

    public function select(){
        $myQuery = "SELECT * FROM users;";
        $results = $this->dbCon->query($myQuery);
        return $results;
    }
}

控制器

 require_once("../model/userModel.php");

    class userController{
    private $userModelSelector;

    public function __construct(){
       $this->userModelSelector = new userModel();
    }
}

【问题讨论】:

  • 每个框架都有细微的差别。您使用的是哪一个,或者这是定制的?
  • @misterartin 它只是使用纯 php 编码来实现的自定义
  • 这使得这个问题非常广泛。您是否构建了自定义框架的任何其他组件,或者是这个?您可以从阅读herehere 开始。
  • @mistermartin 帖子已编辑。我不知道我在控制器部分做得是否正确。但我知道它只是被称为模型
  • @GeninaAnneGabuten 我认为您使用的是与其他问题相同的连接方法?您是否通过 php 和/或查询从中得到错误?

标签: php model-view-controller


【解决方案1】:

你可以把这个类重命名为User_model并在User类中创建新类User你可以调用类User_model 通过这种方式,您可以从控制器调用模型

【讨论】:

  • 查看编辑后的帖子。我不知道我是否在控制器中正确完成了它。 @Abanoub Makram
  • 这是在控制器中执行此操作的正确方法吗?就像我不知道因为我才刚刚开始学习 MVC 概念。 @Abanoub Makram
【解决方案2】:

如果您将while 循环(来自上一个问题的代码)传递给您的select() 方法:

class userModel{

    public function __construct(){  
        $dbCon = new DbConnector();
        $this->dbCon = $dbCon->getConnection();
    }

    public function select(){
        $myQuery = "SELECT * FROM users;";
        $results = $this->dbCon->query($myQuery);

// I added this bit
      while($getUsers = $results->fetch_array()){
          echo $getUsers['username'] . "<br>";
      }
        return $results;
    }

}

然后在返回中使用从控制器传递的方法:

$user = new userModel();
return $user->select();

如果这是问题所在,它会起作用。

【讨论】:

  • 景色怎么样?
  • @GeninaAnneGabuten 这就是为什么我在 cmets 中问你,你到底想做什么。你能详细解释一下“观点”吗?
猜你喜欢
  • 1970-01-01
  • 2022-01-17
  • 2011-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-18
相关资源
最近更新 更多