par
LAMASPANZER » 23 août 2015, 18:46
Yop
Alors voila j'ai un soucis avec mes classes qui heritent de celle principale j'ai donc repris le code et simplifié pk cela me retourne une erreur disant
Fatal error: Call to a member function query() on a non-object lign 20
Voici mon codeque j'ai simplifié et commenté
<?php
class _Core{
protected $pdo;
function __construct(){
$this->pdo = new PDO("mysql:host=localhost;dbname=DATABASE", 'USER', 'PASSWORD');
}
}
$core = new _Core();
class PluginName extends _Core{
function __construct(){
//Quand je declare cette methode cela me retourne une erreur disant tous simplement que
//$this->pdo est NULL de la classe _Core () et que du coup il ne trouve pas query()
}
public function GetNames(){
$query = $this->pdo->query("SELECT `name` FROM cscg_maps");
return $query->fetchAll(PDO::FETCH_ASSOC);
}
}
$plugin = new PluginName();
print_r($plugin->GetNames()); // J'affiche
Franchement je sais pas, après le constructeur la variable $this->pdo semble avoir été formaté mais elle existe toujours puisque je n'ai pas de 'NOTICE' me disant que cette variable n'est pas déclaré
Je pourais faire parent::__construct(); mais ca voudrait dire que la connexion serait etablit deux fois, ce n'est pas ce que je veux
Si vous avez idée ou une semble remarque n'hésitez pas c'est urgent j'ai besoin d'utilisé le constructeur :/
Guillaume G,
Merci d'avance
EDIT:
Je rappel mon objectif, c' est d'avoir une classe qui herite d'une autre afin quelle puisse accedé à PDO ($this->pdo)
EDIT2:
A par passé la variable en super-global ($_GLOBALS) je ne vois plus d'autre solution (le mieux serait uniquement dans la classe et nul par ailleur)
Mais j'aimerai vraiment que l'on m’explique ça m’intéresse le principe de héritance est justement de pouvoir accéder à certaine méthode d'une classe ainsi que les variables hors quand je déclare le constructeur de la classe qui va heritée plus rien n'est accessible (a noté que tout est définit comme nul puis que les variables existent.)
Mon objectif est de rendre accessible la connexion depuis d'importe quelle classe qui va heriter, si vous avez un exemple simple avec plusieurs classes qui heritée montrer moi que j'apprenne
Aidez moi c'est urgent :'(