salve, ho un problema con la modellazione mvc in php.
Purtroppo il codice è lungo ma come vedete è molto banale (ho tralasciato la view, non è lì il problema). Il db è formato semplicemente dalla tabella page(id,title,text).
Ho un errore Call to a member function query() on a non-object
chiamato alla riga $this->result=$this->mysqli->query($q);Suppongo che l'obj mysqli non venga istanziato per qualche ragione.
Ok, quindi il titolo che c'entra?
sono praticamente certo che il problema sia lì 
Per risparmiare tempo ad interpretare il codice: non fa altro che prelevare una tupla dal db in base ad un id (preso da $_GET['page'] o "1" di default)
Codice PHP:
<?php
class Conf {
protected $dbhost='localhost';
protected $dbname='db';
protected $dbuser='root';
protected $dbpass='';
}
class Db extends Conf{
private $mysqli;
public $result;
function __construct(){
$this->mysqli= new mysqli($this->dbhost,$this->dbuser,$this->dbpass,$this->dbname);
}
public function query($q){
$this->result=$this->mysqli->query($q);
return $this->result;
}
}
/*---model----------------*/
class ModContent extends Db{
private $table;
function __construct($tab){
$this->table=$tab;
}
function selectContent($pageid){
$query="SELECT * FROM page WHERE id='".$pageid."'";
$result=$this->query($query);
return $result;
}
}
/*---control----------------*/
class ControlContent extends ModContent {
function getContent($pageid){
$result=$this->selectContent($pageid);
$content=$result->fetch_assoc();
return $content;
}
function __construct(){
parent::__construct('page');
}
}
$pageid=(isset($_GET['page']))?$_GET['page']:1;
$cc=new ControlContent();
$content=$cc->getContent($pageid);
print_r($content); ?>