Je m'excuse pour le titre peu clair, je ne peux pas penser à un meilleur. Je reçois cette erreur:Classe PHP non existant dans le constructeur
Fatal error: Call to a member function query() on a non-object
Ceci est causé par le constructeur dans une classe SPConfig
, qui peut être vu avec une classe SPClasses
comme suit:
$sp = new SPClasses();
class SPClasses
{
public $db, $config, $page, $users;
function __construct()
{
// The SPDatabase class [...]
$this->db = new SPDatabase();
// The SPConfig class [...]
$this->config = new SPConfig();
// [...]
// The SPTemplate class [...]
$this->page = new SPTemplate();
// The SPUsers class [...]
$this->users = new SPUsers();
}
}
class SPConfig
{
function __construct()
{
global $sp;
$configquery = $sp->db->query("SELECT * FROM config", 'Retrieving the configuration');
while($row = mysql_fetch_array($configquery))
{
try
{
$this->{$row['name']} = $row['value'];
}
catch (Exception $e)
{
$debug_log[] = array(
'type' => 'error',
'success' => false,
'text' => 'The config setting <i>' . $row['config_value'] . '</i> has an invalid name.'
);
}
}
}
public function update()
{
$this->__construct();
}
}
Est-ce que quelqu'un sait pourquoi il est impossible pour moi d'accéder $sp->db
dans le constructeur SPClasses
?
Merci.
Pouvez-vous afficher le message d'erreur? – NawaMan
@NawaMan - À quoi sert le nom de fichier et le numéro de ligne? – unrelativity