我正在尝试在database.phtml
我的网站页面上显示数据库。这个页面是一个视图。
到目前为止,我有一个名为 DatabaseConect.php 的模型
<?php
abstract class DatabaseConect {
protected $db = NULL;
public function __construct (PDO $db) {
$this->db = $db;
}
}
class Database extends DatabaseConect {
public $props = array ();
private function getPage ($id) {
$q = $this->db->prepare('SELECT * FROM retrofootball_products');
$ret = $res->fetchAll();
return ($this->props=$ret);
}
}
$db = new PDO('mysql:host=helios.csesalford.com;dbname=pd12', 'helloworld', 'password'); //I have changed the log in details
那么在我看来
<?php require('template/header.phtml') ?>
<?php
$page = new Database ($db);
?>
<?php require('template/footer.phtml') ?>
我一直在尝试在 Stackoverflow 上查找内容,并且遇到过这些文章,但由于我是新手,所以它们对我来说有点过头了:
在 MVC 应用程序中从模型正确调用数据库? http://programmers.stackexchange.com/questions/178831/using-pdo-with-mvc
我的问题是使用 MVC 连接到数据库然后在视图中显示它的最佳方式是什么?我是否需要PDO::FETCH
在模型中使用将结果显示到变量中,然后在视图中调用该变量?
编辑:就像建议我在控制器中使用了引导程序。我是否需要在我的视图中创建一个新的实例才能让它工作?另外我在哪里在正确的地方运行查询?
<?php
class Dependency_Manager {
private $db;
public function __construct($settings) {
$this->db = new PDO('mysql:host=helios.csesalford.com;dbname=helloworld', 'password', 'php54');
}
public function getDB() {
return $db;
}
}
class CMS {
public function __construct(PDO $db) {
//$stmt = $db->query('SELECT * FROM retrofootball_products');
}
}
$settings = array();
$dm = new Dependency_Manager($settings);
$cms = new CMS($dm->getDB());