PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Objekten im _SESSION-Array


bigmcts
31.08.2009, 17:37:44
Hallo,

ich google nun schon seit Stunden wegen dem Problem und komm einfach auf keinen grünen Zweig.

Folgendes Problem:
<?php
class Klasse1 {
private $Eigenschaft = "Hallo ich bin ein Objekt der Klasse 1";

function getEigenschaft1() { return $this->Eigenschaft; }
}

class Klasse2 {
private $Eigenschaft = "Hallo ich bin ein Objekt der Klasse 2";

function getEigenschaft2() { return $this->Eigenschaft; }
}

session_start();

if (!isset($_SESSION[objekt1])) { $_SESSION[objekt1] = new Klasse1;}
if (!isset($_SESSION[objekt2])) { $_SESSION[objekt2] = new Klasse2;}


echo $_SESSION[objekt1]->getEigenschaft1();
echo $_SESSION[objekt2]->getEigenschaft2();

?>

Nun bekomme ich folgenden Fehler:
Fatal error: Call to undefined method Klasse2::getEigenschaft1() in [Pfad]\index.php on line 20

DokuLeseHemmung
31.08.2009, 17:48:12
Ich nicht!!

Setze doch mal
error_reporting(-1);
ini_set('display_errors', TRUE);

und beseitige die Meldungen.

bigmcts
31.08.2009, 18:03:06
omg...Dankeschön, ich geh mich dann dafür mal schämen...

Für andere Helden der Langsamkeit wie mich:
Indexe assoziativer Arrays in Hochkommas setzen!

Hier nochmal richtig:
<?php
error_reporting(-1);
ini_set('display_errors', TRUE);

class Klasse1 {
private $Eigenschaft = "Hallo ich bin ein Objekt der Klasse 1";

function getEigenschaft1() { return $this->Eigenschaft; }
}

class Klasse2 {
private $Eigenschaft = "Hallo ich bin ein Objekt der Klasse 2";

function getEigenschaft2() { return $this->Eigenschaft; }
}

session_start();

if (!isset($_SESSION['objekt1'])) { $_SESSION['objekt1'] = new Klasse1;}
if (!isset($_SESSION['objekt2'])) { $_SESSION['objekt2'] = new Klasse2;}


echo $_SESSION['objekt1']->getEigenschaft1();
echo $_SESSION['objekt2']->getEigenschaft2();

?>

Kaum machts man richtig, schon gehts! Danke für die schnelle Hilfe!