Klassen Frage

FingerSkill

Erfahrenes Mitglied
Hallo,

ich habe ein Objekt welches ich einem anderem Objekt übergeben möchte. ala:

PHP:
$dbConn = new MySQL(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$Menue = new Menue($dbConn);

Leider weis ich nicht wie ich es in der Klasse Menue ansprechen soll die einzige logische Erklärung meinerseits währe:

PHP:
$rawMenue = $this->MySQL->fetchAssoc();

Das funktioniert aber leider nicht. Gibts da eine andere/ähnliche Möglichkeit?

Gruss Finga
 
Naja in der Klasse von $dbConn befindet sich die Datenbankverbindung + eine Methode mit der Daten aus einer Datenbank abgefragt werden können.

Die Klasse von $Menue bekommt die hergestellte Datenbankverbindung als Attribut übergeben und sollte dann mit einer Methode von $dbConn die Datenabfragen.
 
Was du vor hast, habe ich schon verstanden. Nur was passiert mit dem der „Menue“-Klasse übergebenen „MySQL“-Objekt?
 
Ahhh :) sry,

naja eigentlich nicht so viel ;D
Wenn ich genau das selbe mache, ausserhalb des Objekts, also ein MySQL-Objekt erstelle und mit Methoden arbeite, funktioniert alles.

PHP:
//Klasse Menue

  class Menue
  {

	private $MySQL;	//Klasseninterne Variable - Datenbank

//*******************************************************************************************************/

//Konstruktor, speichert die Datenbankverbindung in eine klasseninterne Variable

    public function __construct($MySQL)
	{
          $this->$MySQL = $MySQL;
	}
  
//*******************************************************************************************************/

//Listet das Hauptmenue in ein nummerisches Array, welches zurueckgegeben wird.

    public function getMainMenue()
	{
          $rawMenue = $this->MySQL->fetchAssoc('*', '`Menue_Main`', 'ORDER BY `ListID` ASC');
          print_r(test);
	  return $rawMenue;
	}
  }
 
Hier scheint der Fehler zu liegen:
PHP:
$this->$MySQL = $MySQL;
Mach daraus mal Folgendes:
PHP:
$this->MySQL = $MySQL;
 
Zurück