PHP eine Klasse mit einem Objekt korrekt anlegen

BodyLAB

Bekanntes Mitglied
Hallo zusammen,
ich versuche gerade in PHP eine Klasse zu erstellen in der ein Objekt erschaffen werden soll und die Klasse mit diesem Objekt arbeiten soll. Das Funktioniert nur leider überhaupt nicht :-(

Also erst einmal meine mini Klasse die ich sehr gerne in der neuen Klasse erschaffen und benutzen möchte:
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;
    }
   
}

Und hier die Klasse in der ich den Helper nutzen möchte:
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);
    }
}

Beide Klassen befinden sich in der selben Datei.

Es handelt sich dabei um Wordpress Syntax in der ersten Klasse. Leider habe ich auch kein Beispiel gefunden oder eine Erklärung gefunden wie das unter PHP funktioniert wenn ein Objekt in einer Klasse steckt :D Das sollte doch in der Objektorientierung das normalst der Welt sein oder irre ich mich da :D
 

ocsme

Top Contributor
Du könntest die Objekte außerhalb erstellen und die Referenz zu diesen an dein Objekt Printer übergeben.

Wie genau das in PHP funktioniert weiß ich nicht. Vielleicht gibt dir hier jemand eine Ausführliche Antwort. Mich würde es gerade auch interessieren, da ich ebenfalls nichts gefunden hab.
 

BodyLAB

Bekanntes Mitglied
Problem gelöst, das neue Objekt muss im Constructor erschaffen werden
PHP:
 public function __construct() {
      $this->helper = new Helper();
    }
 

Neue Themen


Oben