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());