简体   繁体   English

控制器如何连接模型示例

[英]controller how to connect model example

How to connect model in controller?如何在控制器中连接模型? should I use require 'model.php' in 'controller.php'我应该在 'controller.php' 中使用 require 'model.php'

controller.php控制器.php

class IndexController {
    public function __construct(){
        require 'models/system_db';
    }
    public function index(){
    if(empty($_GET)){
        // get data from model 
    } else {
      $get_page = $_GET['page'];

    }
  }
}

model.php模型.php

class system_db{
    public function __construct(){
        require_once '../config/connect_db.php';
        $dbconnect = new dbconnect();
        $dbconnect_system_db = $dbconnect->system_db();
    }

}

connect_db.php连接数据库.php

class dbconnect {
    private $host = 'localhost';
    private $dbname;
    private $user;
    private $password;

    public function system_db() {
        $dbname = 'system_db';
        $user = 'user';
        $password = 'password';
        try {
            $dbh = new PDO('mysql:host='.$host.';dbname='.$dbname.'', $user, $password);
            $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        } catch (PDOException $e) {
            die();
        }
        return $dbh;
    }

    public function another_db() {}
}

Since you are looking into the MVC paradigm you should also look into autoloading PHP classes.由于您正在研究 MVC 范式,因此您还应该研究自动加载 PHP 类。 This way you wont have to manually include/require individual files in your controllers.这样您就不必在控制器中手动包含/要求单个文件。

Here is a the from php.net on autolaoding http://www.php.net/manual/en/language.oop5.autoload.php这是来自 php.net 的 autolaoding http://www.php.net/manual/en/language.oop5.autoload.php

Yes you should include your modele in your controller, exemple :是的,您应该在控制器中包含您的模型,例如:

conroller.php控制器.php

include(dirname(__FILE__).'/../modeles/profils.php');

profils.php :配置文件.php :

function users_profils()
{
    $users = array();

    $req = mysql_query("SELECT id, name, cv, DATE_FORMAT(date, '%d/%m/%Y %H') AS date_formatee, contenu 
    FROM users_tab
    ORDER BY date DESC");
    while ($data = mysql_fetch_assoc($req))
    {
            $users[] = $data;
    } 
    return $news;
}

Good luck!祝你好运!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM