Extender classe de DB
Como faço pra abrir uma conexão no meu model que extende minha classe db?
Eu sei que é uam coisa muito idiota, mas o método tá eternamente indefinido e já tentei de mil formas.
Meu código é mais ou menos isso:
//------------ Db.php
<?php
class Db extends PDO {
protected static $instance;
protected function __construct() {}
public static function getInstance() {
if(empty(self::$instance)) {
$db_info = array(
"db_host" => "localhost",
"db_port" => "3306",
"db_user" => "root",
"db_pass" => "",
"db_name" => "banco"
);
self::$instance = new Database("mysql:host=".$db_info['db_host'].';port='.$db_info['db_port'].';dbname='.$db_info['db_name'], $db_info['db_user'], $db_info['db_pass']);
}
return self::$instance;
}
}
?>
//------------ Model.php
<?php
require_once('Db.php');
class FuncionarioModel extends Db {
private $database;
public function list() {
$this->$database = Db::getInstance();
$query = "SELECT * FROM func";
$statement = $this->database->prepare($query);
$user = $statement->fetchObject();
}
}
?>O erro é esse:
Fatal error: Call to undefined method DB::getinstance() in ... Model.php
Na linha:
this->$database = Db::getInstance();
Obrigado
Discussão (13)
Carregando comentários...