Guten Tag,
ich möchte eine eigene Klasse schreiben die, die $wpdb Variable enthält und zwei Methoden davon Kapselt. Die Klasse sieht wie folgt aus:
PHP
class Helper {
private $wpdb = false;
public function __construct() {
global $wpdb;
if (is_object($wpdb)) {
$this->wpdb = $wpdb;
}
}
public function get_results($data) {
return $this->wpdb->get_results($data);
}
public function get_prefix() {
return $this->wpdb->prefix;
}
}
Alles anzeigen
Nun möchte ich zum Anzeigen der Archive Seiten diese Klasse benutzen. Beide Klassen sind in der selben Datei, ich weiß leider nicht wie ich das geändert bekomme. Doch das ist erst einmal nicht das Problem!
Es funktioniert nicht. Ich erhalte einen Kritischen Fehler!
PHP
class Printer {
private $helper = new Helper();
private $table_name;
public function create_data($table) {
$this->table_name = $this->helper->get_prefix() . $table;
$sql = "SELECT * FROM $this->table_name";
$this->archiv = $this->helper->get_results($sql);
}
}
Leider kenne ich mich mit PHP nicht so gut aus, in Java z. B. funktioniert ein solches Konstrukt. Ist es vielleicht nicht möglich in PHP eine neue Instanz in einer Klasse zu erstellen? Dann müsste die Helper Klasse vorher initialisiert werden und dem Printer im Construktor übergeben werden.
Kann mir jemand dabei helfen?